我有以下代码:
var counter = 0;
setInterval(run, 10);
function run() {
counter++;
for (i=0; i<=100; i++) {
// do something complicated
}
alert(counter);
}
出于某种原因,警报永远不会被解雇。
是否有人知道如何发生这种情况?
按照大众需求,jsFiddle上的整个代码:
答案 0 :(得分:5)
你的for循环错误,你有for(i=0; i<=block.length; i++)
,你应该for(i=0; i<block.length; i++)
。你在最后一项上得到了一个未定义的内容。
答案 1 :(得分:3)
因为在您的JS Fiddle的第188行,您正在呼叫blocks[i].updatePosition(dt);
,Chrome的控制台告诉我Uncaught TypeError: Cannot call method 'updatePosition' of undefined
即。 blocks[i]
未定义。
答案 2 :(得分:-2)
我的第一个猜测是该函数不会被调用。