您的位置:首页 > 其它

es6 箭头函数的this 指向问题

2018-11-16 14:36 288 查看

箭头函数体内的this,就是定义时,函数所在的对象,而不是调用时所在的对象。

[code]var foo = () => {
console.log(this.id);
}

var id = 1;

foo(); // 输出1 // this 的指向一直是指向 window

foo.call({ id: 2 }); // 输出1  // this 的指向一直是指向 window

普通函数体内的this,指向调用时所在的对象。

[code]function foo()
{
console.log(this.id);
}

var id = 1;

foo(); // 输出1 this指向 window

foo.call({ id: 2 }); // 输出2  这里是{ id: 2 }调用 foo,所以 this的指向是 { id: 2 }这个对象,因此 console.log(this.id); 的输出值是 2

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: