ES6-函数与数组命名
1 箭头函数
1.1 以往js
- function 名字(){ 其他语句 }
1.2 现在ES6
- 修正了一些this,以前this可以变 ()=>{ 其他语句 }
- 如果只有一个参数,()可以省 。如果只有一个return,{}可以省
1.3 对比代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>箭头函数</title>
<script>
// 原先js中的函数使用
// window.onload = function() {
// alert('abc');
// };
//现在ES6的转变箭头函数使用方法
// window.onload = () => {
// alert('abc');
// };
// js带有函数命名的使用方法
// let show = function() {
// alert('abc')
// };
// show();
// ES6带有箭头函数命名的使用方法
// let show = () => {
// alert('abc')
// };
// show();
// js带有函数参数的使用方法
// let show = function(a, b) {
// alert(a + b)
// };
// show(12, 6);
// ES6带有箭头函数参数的使用方法
// let show = (a, b) => {
// alert(a + b)
// };
// show(12, 6);
// js数组在函数的使用
// let arr = [12, 5, 8, 99, 33, 14, 26];
// arr.sort();
// alert(arr);
// 进行一个排序操作
// arr.sort(function(a, b) {
// return a - b;
// });
// alert(arr);
// ES6中数组对函数的使用
// let arr = [12, 5, 8, 99, 33, 14, 26];
// arr.sort();
// alert(arr);
//进行一个排序操作
// arr.sort((a, b) => {
// return a - b;
// });
// alert(arr);
/圆括号可以省略,中括号可以省略
// let show = a => a * 2;
// alert(show(12));
</script>
</head>
<body>
</body>
</html>
2 参数扩展/数组展开
2.1 收集剩余的参数
- function show(a,b,...args){} *Rest Parameter必须是最后一个
2.2 代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>函数扩展</title>
<script>
// args是剩余的参数存储,必须是最后一个
function show(a, b, ...args) {
alert(a);
alert(b);
alert(args);
};
show(12, 3, 42, 21, 21);
</script>
</head>
<body>
</body>
</html>
3 展开一个数组
- 展开后的效果,跟直接把数组的内容写在这儿一样 args=[1,2,3]则...args等同于1,2,3
3.1 代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>函数展开</title>
<script>
let arr = [12, 3, 42];
// 用法1
// 结果为依次输出12,3,42
show(...arr);
function show(a, b, c) {
alert(a);
alert(b);
alert(c);
};
let arr1 = [1, 23, 4];
// 用法2
let arr2 = [arr, arr1];
// 结果为依次输出12,3,42,1, 23, 4
alert(arr2);
// 用法3
function show2(...args) {
fn(...args);
};
function fn(a, b, c) {
alert(a + b + c);
}
show2(1, 2, 3);
</script>
</head>
<body>
</body>
</html>
4 默认参数
4.1 代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>默认参数</title>
<script>
function show(a, b = 2, c = 4) {
alert(a + b + c);
}
show(1);
</script>
</head>
<body>
</body>
</html>
ES6-函数与数组命名的更多相关文章
- ES6函数扩展
前面的话 函数是所有编程语言的重要组成部分,在ES6出现前,JS的函数语法一直没有太大的变化,从而遗留了很多问题和的做法,导致实现一些基本的功能经常要编写很多代码.ES6大力度地更新了函数特性,在ES ...
- ES6新特性-------数组、Math和扩展操作符(续)
三.Array Array对象增加了一些新的静态方法,Array原型上也增加了一些新方法. 1.Array.from 从类数组和可遍历对象中创建Array的实例 类数组对象包括:函数中的argumen ...
- C语言中的函数、数组与指针
1.函数:当程序很小的时候,我们可以使用一个main函数就能搞定,但当程序变大的时候,就超出了人的大脑承受范围,逻辑不清了,这时候就需要把一个大程序分成许多小的模块来组织,于是就出现了函数概念: 函 ...
- ES6 函数的扩展2
8.2 rest参数 ES6引入rest参数(形式为"-变量名"),用于获取函数的多余参数,这样就不需要使用arguments对象了. arguments对象并没有数组的方法,re ...
- Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合
前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: :声明val变量:可以使用val来声明变 ...
- java基础基础总结----- 关键字、标识符、注释、常量和变量、运算符、语句、函数、数组(三)
Java语言基础组成:关键字.标识符.注释.常量和变量.运算符.语句.函数.数组 一.标识符 标识符是在程序中自定义的一些名称,由大小写字母[a-zA-Z],数字[0-9],下划线[ _ ],特殊字符 ...
- python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)
昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...
- es6函数的扩展
扩展运算符 含义 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. 扩展运算符的应用 (1)合并数组 // ES5 [1, 2].co ...
- C语言中变量名及函数名的命名规则与驼峰命名法
一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error ...
- 包括ES6在内的数组操作(待更)
下面是我对ES6和古老的JS(ES3)一些数组操作的总结,附带了一些我曾经用上的. map处有待更内容. 贴一下有借鉴的网站:https://segmentfault.com/a/1190000002 ...
随机推荐
- 玩转FPGA边缘视觉——4k视频图像抓取
随着现代图像及视频处理技术的不断发展,人们对图像处理提出了新的要求,最近几年,图像的分辨率和扫描频率都有了较大范围的提升,1080P分辨率的视频已经非常流行,2K甚至4K分辨率的图像也在火热发展中. ...
- 读CSV文件并写arcgis shp文件
一.在这里我用到的csv文件是包含x,y坐标及高程.降雨量数据的文件.如下图所示. 二.SF简介 简单要素模型(Simple Feature,SF),是 OGC 国际组织定义的面向对象的矢量数据模型. ...
- LeetCode--LinkedList--160. Intersection of Two Linked Lists(Easy)
160. Intersection of Two Linked Lists(Easy) 题目地址https://leetcode.com/problems/intersection-of-two-li ...
- Blazor入门:ASP.NET Core Razor 组件
目录 关于组件 组件类 静态资产 路由与路由参数 组件参数 请勿创建会写入其自己的组参数属性的组件 子内容 属性展开 任意参数 捕获对组件的引用 在外部调用组件方法以更新状态 使用 @ 键控制是否保留 ...
- jquery判断邮箱及密码是否输入正确的表单提交
jquery我接触的也不是很多,基本就是照着案例然后查相关方法做出来的,基本用了大概半天的时间,手打加查资料实现.具体如下,首先下载一个jquery包,网址是https://jquery.com/do ...
- [hdu5195]线段树
题意:给一个DAG,最多可以删去k条边,求字典序最大的拓扑序列.思路:贪心选取当前可选的最大编号即可,同时用线段树维护下.一个节点可以被选,当且仅当没有指向它的边. #include <iost ...
- php_rce
0x01 PHP_RCE RCE(remote command/code execute):远程命令/代码执行 此题为ThinkPHP V5远程代码执行漏洞 0x02 命令执行 http://124. ...
- sqli-labs之Page-1
搭建与安装 参考:https://www.fujieace.com/penetration-test/sqli-labs-ec.html 下载:sqli-labs下载 第一关:单引号报错注入 ?id= ...
- 前端面试题-几个很实用的BOM属性对象方法?
什么是Bom? Bom是浏览器对象.有哪些常用的Bom属性呢? (1)location对象 location.href-- 返回或设置当前文档的URL location.search -- 返回URL ...
- HttpServletRequest 和 HttpServletResponse详解
用HttpServletRequest,现在整理如下,以便以后查阅 请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口. 主要的与请求和接口相关的类及接口 方 法 说 ...