从不同实例访问值

时间:2011-12-19 21:02:56

标签: javascript variables object

我正在创建一个记忆游戏,应该可以同时运行几个游戏。应该可以存储在重新开始游戏或运行新游戏时应该保留的最高分(高分)。

现在问题。如果我将变量“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

}

1 个答案:

答案 0 :(得分:1)

在第二种情况下尝试访问时存储它:

// this will work from the "constructor" function as well
DESKTOP.MemoryApp.bestScore = 100;
console.log(DESKTOP.MemoryApp.bestScore); // of course, 100