在下面的代码中,在obj1的对象文字中,我会假设'这个'在两个函数中都会引用obj1,但在胖箭头函数中它不会。有人可以解释原因吗?我会假设这些函数要么等效,要么在胖箭头函数中,'这个'将在词汇上定义为obj1。
var obj1 = {
name : 'name1',
standardFunction : function() {
console.log(this.name); // Refers to obj1
},
fatArrowFunction : () => { // Refers to the global object
console.log(this.name);
}
}
obj1.standardFunction();
obj1.fatArrowFunction();
答案 0 :(得分:1)
根据定义,箭头函数的行为与传统函数不同。使用() => {}
语法定义的函数从外部作用域继承上下文。