我使用变量参数在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