我对 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;
})();
提前致谢。