我已經看到了一個代碼,這讓我很困惑。我知道this
關鍵字指向全局上下文,並且取決於它是如何調用的。這與在javascript中的對象
的代碼是
var gameController = {
scores :[20, 34, 55, 46, 77],
avgScore:null,
players :[
{name:"Tommy", playerID:987, age:23},
{name:"Pau", playerID:87, age:33}
]
}
var appController = {
scores :[900, 845, 809, 950],
avgScore:null,
avg :function() {
var sumOfScores = this.scores.reduce (function (prev, cur, index, array) {
return prev + cur;
});
this.avgScore = sumOfScores/this.scores.length;
}
}
混亂的部分是
this.avgScore = sumOfScores/this.scores.length;
我只需要知道哪個對象this
關鍵字點。它指向appController
還是gameController
?
任何幫助,將不勝感激 感謝
你不能嚴格地假設它,因爲它取決於你如何調用函數'appController.avg()' – techfoobar
我可以調用像gameController.avg()? – user3609223
我縮進了代碼,所以嵌套更容易看清 –