0

我想在 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;
}

这似乎可行,但本地数组仍然保存第一个循环中的元素。

有没有更好的方法在循环中调用函数集合?我有在这些循环中被更改的全局数组,我想知道它们是否需要是本地的,即以某种方式在函数内部?

4

1 回答 1

2

一个可能的问题是for(i=0; i<50; i++){这里 i 是一个全局变量,如果在任何一个函数内(i再次在全局范围内)的值更改为 > 50,那么循环将被终止,它们都引用全局范围内的同一个实例。试试for( var i=0; i<50; i++){吧。

当您var在变量声明中使用时,该变量将在本地范围内创建(声明它的函数)

于 2013-08-22T10:27:31.037 回答