var name= 1;
var MyObj = {
name: 2,
showName: function(){ console.log(this.name);
}
}
setTimeout(MyObj.showName,1000)
这里输出的是 1,因为这段代码在编译的时候,执行上下文中的 this 会被设置为全局 window,如果是严格模式,会被设置为 undefined。
但当我使用箭头函数时,
setTimeout(() => { MyObj.showName() }, 1000);
可以正常输出2,但箭头函数不是不改变this指向的吗?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…