我使用變量參數在for循環內創建函數。不幸的是,只要for循環第二次運行,它就會更新變量並更新以前生成的函數的所有參數。我怎樣才能在這個循環中解析一個「分離的」值,所以它不會被下一個循環覆蓋?變量更新時變量參數發生變化的函數
我當前的代碼是這樣的:
var self = this;
for (var i = 0; i < wordObjects.length; i++) {
var wordCurrent = wordObjects[i].word;
var wordCorrect = wordObjects[i].correct;
var moreData = wordObjects[i].moredata;
var successFunction = wordObjects[i].successFunction;
//chain all arguments in one array
variableArray = []
variableArray = variableArray.concat(wordCorrect);
variableArray = variableArray.concat(moreData);
//create function
var runFunction = function() {self.executeFunctionByName(successFunction, self, variableArray)};
this.saveFunctions[wordCurrent] = runFunction;
};
我試圖生成內部的所有數組對象,但隨後並沒有在所有通過陣列。它看起來像這樣:
var runFunction = function() {self.executeFunctionByName(successFunction, self, variableArray[i])};
我試着通過variableArray.slice();但是這似乎也不起作用。
'variableArray' is global – epascarello