javascript:在for循环中调用函数

时间:2012-11-10 18:02:53

标签: javascript function for-loop

执行函数的循环。但是,以下工作 - 计数器在页面上的图像加载时计数。

var progress = function()
 {
   for (var i = 0; i < slide.length; i++)
    slide[i].onload = function(){
         actualprogress +=1,
         loading.innerHTML = actualprogress
    };
 }

以下操作。当我打开页面时,计数器从头开始说“[n]”(幻灯片的数量,例如“12”)。

var progress = function()
 {
   var action = function(){
     actualprogress +=1;
     loading.innerHTML = actualprogress
   }
   for (var i = 0; i < slide.length; i++)
     slide[i].onload = action();
 }

我想从for-loop调用一个函数,因为我需要在函数中做其他更多的事情。为什么这不起作用?

2 个答案:

答案 0 :(得分:2)

在第一个代码中,您将函数指针分配给onload属性。

在第二个代码中,您将函数返回值分配给onload属性 null

这些之间存在巨大差异。在操作之后, parantheses 第二代码中额外

onload = action() => onload = action

干杯

答案 1 :(得分:2)

在第二个代码段的最后一行,您正在调用该函数,而不是仅将其分配给slide[i].onload

只需将slide[i].onload = action();更改为slide[i].onload = action;