在ECMAScript6.0新特性介绍第一篇中我介绍了如何let和const去定义变量和常量,在这篇博客中我将介绍一下ES6.0当中的箭头函数和函数。所谓箭头函数就是函数的一种简写方式,其语法形式为:
(args)=>{...}//your code goes here
并且如果函数的参数只有一个那么小括号可以省略不写,如果花括号里面只有一个return,那么花括号省略不写。下面关于箭头函数的使用,请参考以下代码。
//定义一个函数,功能是求两个数字的和
function sum(a,b){
return a+b;
}
//将以上代码改成箭头函数,为防止重名将函数名改成sum2
let sum2=(a,b)=>{
return a+b;
}
console.log(sum(100,300));//调用传统函数
console.log(sum2(100,300));//调用箭头函数
结果如下图所示:
可以看出箭头函数和普通函数一样计算出正确的结果。
我之前还提到过,如果箭头函数的参数只有一个,那么小括号可以省略,如果花括号只有一个return,那么花括号也一样可以省略。
如下代码所示。
//定义一个箭头函数sum,其功能是计算等差数列的前n项和,并打印出前100项和。
let sum=(n)=>n*(n+1)/2;
console.log(sum(100));
说完了ES6的箭头函数,再说说ES6的函数。ES的函数相对于JavaScript的函数增加了两大特性。也就是默认参数和扩展运算符...。所谓默认参数就是指这个函数中的某个参数所拥有的默认值,当调用这个函数时,没有传递参数时,则使用默认值,如果传了参数,则使用传递的值。而扩展运算符有点类似于Java当中的可变参数。(学过java的小伙伴应该都知道)。这个扩展运算符的作用有两个:1 收集参数 2 展开数组。它们的具体用法如下代码所示。
//定义一个函数sum,计算三个数的和
let sum=function(a,b=10,c=40){
return a+b+c;
}
console.log(sum(10));//不传 b和c的值,则b和c使用默认值
console.log(sum(10,3,5));//传入b和c的值,则b和c使用传入的值
//定义函数sum,计算传入所有参数的和
function sum(...args){
let result =0;
for(let i=0;i<args.length;i++){
result+=args[i];
}
return result;
}
//定义函数printNum,打印a b arg 三个参数的值
function printNum(a,b,...args){
console.log('a='+a+'b='+b+'args='+args);
}
console.log(sum(1,2,3,4,5,6,7,8,9,10));
printNum(1,2,3,4,5);
//使用...展开数组
let arg=[1,2,3,4,5,6,7,8,9,10];
console.log(...arg);
- 关于ES6的函数以及箭头函数就介绍这么多,不足或者错误之处请各位慕友批评,指正,吐槽。