我在一個範圍內得到這個功能:如何讓變量進入javascript函數?
AjaxState.prototype.run_on_finish = function(callback){
if (this.isRunning()){
setTimeout('AjaxState.obj().run_on_finish('+callback+')', 250);
}else{
callback();
}
}
我只是檢查是否所有的Ajax已經完成,再經過我調用回調(如果所有的Ajax結束)... ,但在其他時候,我嘗試使用如下函數調用:
// .obj()只是調用單例模式。
function foo(){
var id = 2;
AjaxState.obj().run_on_finish(function(){
makeThings(id);
});
}();
當我執行此,我收到「ID沒有定義」,因爲我認爲「run_on_finish」只是看它在全球範圍內,如果我從ID刪除「變種」,它的工作原理味精..但我不想讓它成爲全球性的,我想通過這個功能發送它,這有可能嗎?
爆笑問題的標題':)' –
整個'run_on_finish'事情是沒有意義的。爲什麼你不使用基於事件的回調,即掛鉤'readystatechange'事件? – Tomalak
您的示例必須不完整。提供真實的代碼。在你給出的例子中,'id'被有效地關閉到'run_on_finish'回調中。 – katspaugh