箭头函数this还是有点不明白

箭头函数this还是有点不明白

箭头函数的this,是它所在环境的this,我有点不明白,这里的箭头函数所处环境 里有name这个属性,为什么不能访问呢?而后面setTimeout里面的箭头函数里的this,就能成功访问到函数内的属性

http://img1.sycdn.imooc.com//climg/5d7230fd0001863d05370324.jpg



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
卡布琦诺 2020-04-21 19:12:03

是的,定义时所在的对象是xiaoming,因为箭头函数没有自己的this,所以say2的this指向的是xiaoming,而xiaoming的this指向的是windows,所以say2的this也是指向windows的。

祝学习愉快!

卡布琦诺 2019-09-06 19:01:59

这是因为箭头函数里的this是定义时的所在的对象,也就是箭头函数没有自己的this,这里的箭头函数say2与xiaoming属于同一级,而xiaoming在windows上,所以say2的this也是指向windows的,也就是说say2和xiaoming是属于同一级的

箭头函数没有自己的this,箭头函数的this指向的是定义时所在的对象,setTimeout里面的箭头函数的this指向的是定义时所在的对象,而setTimeout也在这个对象中,所以是可以访问到的

希望可以帮到你!

  • 定义时所在的对象不是xiaoming吗?
    2020-04-21 16:48:20
  • 老师在上面帮你解答了哦~
    2020-04-21 19:12:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师