es6 箭头函数

箭头函数:
用法:

var a=()=> 5;
var b=(sum1,sum2)=> sum1+sum2
//多行代码
var c=(sum1,sum2)=>{sum1=sum1+1;sum2=sum2+2;return sum1+sum2}
//返回对象
var d=id=>({
       id:id,
       name:'jack',
})
//与变量解构结合使用
var e=({id:‘001’,name:‘jack’})=>id+' '+name

用处:简化回调、有利于封装回调(注意点1会讲)
[0,1,2,3].map(i=>i*10)

注意点:
1:箭头函数函数体内的this指向的是定义该箭头函数时所在的对象,而不是使用时所在的对象

例如:
function test(){
    setTimeout(()=>{console.log{this.id}},1000)
}

var id='1'
test.call({id:'2'})

//输出结果为2(此时this指向test,如果不是箭头函数的话,this指向的是window)


ps:箭头函数的this指向固化是因为箭头函数本身没有this,*所以也就不能用作构造函数,就不能通过new来创建。*
   正因为箭头函数的this指向固化(指向定义该函数的对象),所以有利于封装回调函数

2:箭头函数里面没有arguments

function test(){
     setTimeout(()=>{console.log(arguments)},1000)
}
test(1,2)
//此时输出[1,2]

3 不可以使用yield命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值