箭头函数的作用域

老子叫甜甜 提交于 2019-12-02 23:24:18

箭头函数的作用域
箭头函数作用域是和父级的上下文绑定在一起的
测试用例:

var obj = {
id: 1,
show: () => {
console.log(this.id)
}
}
obj.show()

输出: undefined
在此例中show函数为箭头函数,因此this绑定父级中的this,父级是一个顶级对象,在浏览器中this指向window对象,window中并没有属性id,所以输出undefined

测试用例2:

var obj = {
id: 1,
show: function() {
return () => {
console.log(this.id)
}
}
}
obj.show()()

输出:1
此例中,箭头函数为一匿名函数,其父级作用域为show函数,因此箭头函数绑定show函数的作用域,show函数中this指向调用show函数的对象,即obj,obj中有id属性,且值为1,所以输出1

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!