为了账号安全,请及时绑定邮箱和手机立即绑定

es6箭头函数问题

es6箭头函数问题

let person = {                        name:'L',                        hobbies:['robot','internet','music'],                        sayName:() =>{                                console.log(`Hi,I am ${this.name}`)                        }                         }                                person.sayName();为什么是undefined? 如果sayName:function(){}就能读取到,说下原因
查看完整描述

1 回答

已采纳
?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

箭头函数的this在定义的时候已经确定了,定义的时候person内部的this指向的是全局变量(浏览器中的window,node中的global)。你直接执行肯定是取window上的name属性,肯定是undefined。你可以先在window上添加name属性或者在箭头函数中输出this验证这个结论。

查看完整回答
反对 回复 2016-08-03
  • 1 回答
  • 1 关注
  • 1697 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信