我正在创建一个记忆游戏,应该可以同时运行几个游戏。应该可以存储在重新开始游戏或运行新游戏时应该保留的最高分(高分)。
现在问题。如果我将变量“bestScore”存储为“this.bestScore”,它将指向特定游戏,这意味着当我重新开始游戏时它将被重置。我尝试使用“var”代替,但是当我尝试使用“DESKTOP.MemoryApp.bestScore”(参见下面的代码)访问它时,它是未定义的。
那么,存储此值的最佳方法是什么,以便在所有游戏中都可以访问?
DESKTOP.MemoryApp = function(){
this.score = 0;
this.bestScore = 0;
var bestScore = 0;
}
DESKTOP.MemoryApp.prototype.wonGame = function(){
// code...
console.log(this.bestScore) // <-- points to a specific game
console.log(DESKTOP.MemoryApp.bestScore // <-- undefined
console.log(bestScore) <-- bestScore is not defined
}
答案 0 :(得分:1)
在第二种情况下尝试访问时存储它:
// this will work from the "constructor" function as well
DESKTOP.MemoryApp.bestScore = 100;
console.log(DESKTOP.MemoryApp.bestScore); // of course, 100