在將函數添加到函數數組之前,將值存儲在函數變量中的最佳(或優良)做法是什麼?當聲明函數存儲在一個函數數組中的函數值時,爲變量賦值value
例如,我們有一個計數器:
var f_counter = 0;
...我們有一個函數數組:
var a_func = [];
當我們添加一個函數到數組中,我們可以這樣做:
a_func.push(
function(){
examplecallbackfunction(f_counter);
}
);
f_counter++;
這裏是例子回調函數:
function examplecallbackfunction(c) {
<... code ...>
}
遍歷和執行功能陣列:
var l = a_func.length;
while (l>0) {
var fnc=a_func[l-1];
fnc();
l--;
}
這裏的問題是,執行函數數組當參數f_counter就是當前全局變量f_counter,並沒有什麼f_counter是當各個功能被添加到函數數組中。
我需要一個很好的做法,它將f_counter的當前值存儲在函數定義中,然後將其分配給函數數組,並且在迭代和執行數組中的函數時,它應該使用該值調用回調函數存儲。
我需要一種方法來做到這一點,而不需要將各個值存儲在全局變量中,因爲我根據用戶交互加載了一些異步,所以我從不知道「事先」會存儲多少個以及哪種類型的函數函數數組。某些函數可能會有比f_counter更多的變量,等等......
太好了!謝謝你,這看起來很有前途,而且方法簡單,正是我期待的! – Plarsen