var sc = new stuCore();
function stuCore() {
this.readyPages = [];
this.once = true;
var self = this;
// gets called asynchronously
this.doPrepPage = function (page){
if(self.once == true){
// still gets executed every time, assignment fails
self.once = false;
doSomeStuffOnce();
}
};
this.addReadyPage = function (pageid) {
console.log("readypage called");
this.readyPages.push(pageid);
if (!$.inArray(pageid, self.readyPages) != -1) {
this.doPrepPage(pageid);
}
};
}
为什么这个任务失败了?我以为我知道 js 的基础知识,但我对此感到困惑。此外,什么是可能的解决方案?首先调用构造函数并在那里设置变量?
编辑: 在其他一些脚本中被这样调用:
sc.addReadyPage(self.id);