将this上下文传递给匿名forEach函数的现代正确方法是什么?
function Chart() {
this.draw = function(data) {
data.forEach(function(value) {
//do something with values
console.log(this); //question: how to get Chart instead of global scope?
)};
});
};
Run Code Online (Sandbox Code Playgroud) 如果我运行此代码,则窗口对象将打印到控制台.
var arr= [1,2,34,5,6,7,7,8];
arr.forEach(function(e){
console.log(this);
});
Run Code Online (Sandbox Code Playgroud)
为什么它不引用数组对象中的arr对象或特定项?我想了解它背后的原因,就像发生了什么.this使用by new或调用此函数的对象来定义,对吗?