为什么箭头函数this不能获得当前所在的对象呢?
let MyObj={ a(){ console.log('a',this) setTimeout(()=>{ console.log('timeout',this) },100) setTimeout(function f2(){ console.log('timeout',this) },100) }, b:()=>{ console.log('b',this) } }
a 和 b 不是同为对象MyObj的元素吗?为什么箭头函数b的this不能获得MyObj的对象
34
收起
正在回答
1回答
同学,你好。箭头函数是没有自己的this的,箭头函数里面的this会继承自外部的this。或者箭头函数中的this就是外层代码块的this。箭头函数b本身所在的对象为MyObj,而MyObj的this是window
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
Python全栈工程师2020
- 参与学习 人
- 提交作业 5211 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星