我想在JavaScript'for'循环中调用多个函数,但它们只是第一次被调用而循环终止。
我尝试通过将值传递给它们来使函数唯一,使用一些泛型函数调用者,例如:
for(i=0; i<50; i++){
alert('test');
generator_function(i);
}
function generator_function(variable){
function1(variable);
function2(variable);
function3(variable);
function4(variable);
var sum = local_array.reduce(function(a, b) { return a + b });
var avg = sum / local_array.length;
}
这似乎有效,但本地数组仍保留第一个循环中的元素。
有没有更好的方法在循环中调用函数集合?我有全局数组在这些循环中被改变,我想知道它们是否需要是本地的,即以某种方式在函数内部?
答案 0 :(得分:2)
一个可能的问题是for(i=0; i<50; i++){
这里我是一个全局变量,如果在任何一个函数内部(其中i
再次在全局范围内),则值被更改为&gt;然后循环将终止,它们都引用全局范围内的相同实例。请改为for( var i=0; i<50; i++){
。
在变量声明中使用var
时,该变量将在本地范围(声明它的函数)中创建。