var name = 'Jack'; // 对照是否有this指向window
var obj = {
name: 'Peter',
f1: function () {
console.log(this.name);
},
f2: function () {
console.log(function () {
return this.name; // 指向window对象
}());
},
f3: function () {
console.log((() => {
return this.name;
})());
},
f4: function () {
console.log((() => {
return (() => {
return this.name;
})();
})());
}
};
obj.f1();
obj.f2();
obj.f3();
obj.f4();
// 普通函数的this指向父级作用域
// 箭头函数的this指向它所定义的对象的作用域