ES6 箭头函数:
'use strict';
var obj = {
i: 10,
b: () => console.log(this.i, this),
c: function() {
console.log( this.i, this)
}
}
obj.b(); // 为什么 输出undefined, Window对象;
而
obj.c() 则输出 : 10, obj ;
我之前把上面的代码理解为:
'use strict';
var obj = {
i: 10,
b: function() {
return console.log( this.i, this)
},
c: function() {
console.log( this.i, this)
}
}
但是我发现, 执行obj.b();后输出10, obj;
所以箭头函数在这里的 this 还不甚了解, 望解答, 若优秀则必赞
相关分类