我有这样的功能:
var dostuff = function(thing){
var count = myvar.length; // <- I know for sure it's larger than 1
for (i = 0; i < count; i++)
whatever(myvar[myvar.length - 1]);
},
...
dostuff(thing);
...
问题是for循环只执行whatever()
一次,即使count变量是4,10,20,100 ......
我在这里做错了什么?
答案 0 :(得分:5)
不确定您要执行的操作,但是,如果您想为whatever
中的每个项目调用myvar
函数,则应使用此功能:
for (i = 0; i < count; i++)
whatever(myvar[ i ], thing);
请注意i
而不是myvar.length - 1
答案 1 :(得分:4)
做什么()也有一个带“i”变量的循环?它可能是全局设置我。你应该声明我是dostuff函数的本地函数,并使用大括号来保持良好的卫生:
for(var i= 0; i < count; i++) {
whatever(...);
}
答案 2 :(得分:1)
您是否尝试过 alert() myvar.length的值? myvar也是一个全局变量吗? Pascal是对的你可能想要使用i,因为它的值将通过你的myvar对象计算,除非myvar的长度改变了什么函数?
答案 3 :(得分:1)
对我而言,没有任何事情显然是错误的,但我开始的是:
for (**var** i = 0; i < count; i++) **{** whatever(...); **}**
我想我是一个缓慢的人!