爲什麼7行返回對象窗口?爲什麼這樣的背景?
爲什麼不是運動對象?
var sport = {
caption: "2017",
players : [{"name":"cat"},{"name":"dog"}] ,
show: function() {
this.players.forEach(function(entry) {
console.log(entry.name);
console.log(this);//window
});
}
}
sport.show();
https://jsfiddle.net/6qkj2byk/
使用箭頭功能。 –
這個範圍取決於執行上下文,並且是遲到的。搜索SO和網絡,你會發現很多關於這個問題的討論。 –
「如果給forEach()提供了thisArg參數,它將被用作回調函數的這個值,否則undefined值將被用作它的這個值,這個最終可以被回調觀察到的值是根據通常的規則確定一個函數看到的這一點。「 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach – Nayuki