请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师箭头函数这样写this究竟指向谁呀?

let ob = {
    name:'ob',
    say:()=>{
        console.log(this.name)
    } 
}
//Uncaught TypeError: Cannot read property 'name' of undefined
ob.say()

假设这样写我觉得this指向定义时所在的环境,也就是obj这个对象里面呀,老师我有点懵.

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

1回答

提问者 Panda_io 2020-09-19 10:31:03

还是有点不明白,这里的this指向。

0 回复 有任何疑惑可以回复我~
  • 谢成 #1
    这里的this指向window。课程中讲过:箭头函数没有this,会沿着作用域链来找this。
    回复 有任何疑惑可以回复我~ 2020-09-19 21:45:53
  • 提问者 Panda_io 回复 谢成 #2
    老师箭头函数的作用域链不是第一个是函数体,然后是ob对象,然后是window吗,为啥这里就直接指向window越过了ob对象,老师说过 “这里的this指向的是定义时的对象,而不是调用时所在的对象这是箭头函数的特性” 定义时的对象不就是ob吗,学生还是有点糊涂
    回复 有任何疑惑可以回复我~ 2020-09-21 10:45:42
  • 开心超人plus 回复 提问者 Panda_io #3
    请问能不能理解为指向它的调用者,如果没有调用者则默认指向window呀,es5好像可以这么解释,es6还是有点糊涂
    回复 有任何疑惑可以回复我~ 2022-03-24 20:33:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信