我对JavaScript还是很陌生,我对以下两个“ this”示例,“ this”所绑定的内容以及原因感到困惑:
示例1:
function Person(age) {
this.age = age;
this.growOld = () => {
this.age++;
}
}
var person = new Person(1);
setTimeout(person.growOld,1000);
示例2:
var Actor = {
name: 'RajiniKanth',
movies: ['Kabali', 'Sivaji', 'Baba'],
getName: () => {
alert(this.name);
}
};
Actor.getName();
为什么尽管两个示例都使用了箭头功能,但是“ this”却绑定到了不同的上下文?
答案 0 :(得分:0)
使用箭头函数在对象内部的方法将绑定到该对象,如果不在对象内部,则该方法引用全局范围,即使被另一种方法封装也是如此。
答案 1 :(得分:0)