JavaScript のパブリック変数のスコープに問題があります。変数は、私の JavaScript クラスのメイン関数 (関数レベル) で宣言されています。loadXML 関数はクラスの外部から呼び出されますが、 this.layers 変数を認識しています。私のxmlがロードされて別の関数にリダイレクトされると、 this.layers 変数が突然未定義になります。この種の問題を経験したことがある人。
var Level = (function()
{
function Level()
{
this.layers = 3;
}
Level.prototype.loadXML = function()
{
console.log(this.layers); //variable is defined!
$.get("xml/level_" + this.currentLevel + ".xml", Level.buildGrid);
};
Level.buildGrid = function(xml)
{
console.log(this.layers); //variable is undefined!
};
return Level;
})();
前もって感謝します。