
练习:es6新增加了箭头函数的用法,是js重要改动之一,java也有类似语法叫lambda表达式,用意是简化代码,代码美化,代码美化的确是让臃肿的代码变得看着简化了,但是阅读性有点不是很好。
摘自官网话语:
箭头函数相当于匿名函数,并且简化了函数定义,箭头函数有两种格式,一种只包含一个表达式,省略掉了{ … }和return。还有一种可以包含多条语句,这时候就不能省略{ … }和return。
//普通无参函数
function fn1(){
var x = 10;
return x * 100;
};
//普通无参转换为箭头函数,括号里面放的是形参,大括号里面放的是函数体
var fn1 = ()=>{
var x = 10;
return x * 100;
};
//普通有参函数
function fn2(x,j){
var x = 10;
return x * 100;
};
//普通有参转换为箭头函数,括号里面放的是形参,大括号里面放的是函数体
var fn2 = (x,j)=>{
var x = 10;
return x * 100;
};
//只有一个形参可以不加小括号
var fn3 = x =>{
return x * 100;
}
//如果只有return一句话,可以省略大括号和省略return
var fn4 = x => x * 100;
let fn5= function(a,b,...args){}
let fn5 = (a,b,...args) => {};//箭头函数中没有arguments,可变运算符是es6新语法,效果给arguments差不多
//注意:如果返回一个对象,需要特别注意,如果是单表达式要返回自定义对象,不写括号会报错,因为和函数体的{ … }有语法冲突,用小括号包含大括号则是对象的定义,而非函数主体
x =>{key: x}//报错
x =>({key: x}) //正确
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)