请问老师run2的this 为什么指向window,而不是xm?

来源:5-6 箭头函数

奇异果子chia

2020-08-12 21:50:29

const xm = {
    name:'xm',
    say:{
        run:function () {
            console.log(this);//指向run方法
        }
    },
    say2:{
        run2: () => {
            console.log(this);//指向window
            //定义的时候所处的环境中的this
            //箭头函数里的this就一直指向window吗?不是
            
        }
    },
    say3:function(){
        setTimeout(() => {
            console.log(this);//this指向xm
        },200);
    }
};
xm.say.run();
xm.say2.run2();
xm.say3();


写回答

1回答

好帮手慕粉

2020-08-13

同学你好,因为箭头函数没有自己的this,这里的箭头函数run2与xm属于同一级,而xm在windows上,所以run2的this也是指向windows的。

如果我的回答帮助了你,欢迎采纳。祝学习愉快~

0

0 学习 · 10739 问题

查看课程