Для окончания цикла функционируют преждевременно? - PullRequest
0 голосов
/ 17 декабря 2011

У меня есть следующий код:

var counter = 0;

setInterval(run, 10);

function run() {

    counter++;  

    for (i=0; i<=100; i++) {

        // do something complicated
    }

    alert(counter);
}

По какой-то причине предупреждение никогда не срабатывает .

Кто-нибудь знает, как это может произойти?


По многочисленным просьбам весь код на jsFiddle:

http://jsfiddle.net/Kriem/ZjPjW/

Ответы [ 3 ]

5 голосов
/ 17 декабря 2011

Ваш цикл for неправильный, у вас есть for(i=0; i<=block.length; i++), где вы должны иметь for(i=0; i<block.length; i++)Вы получаете неопределенное значение для последнего элемента.

3 голосов
/ 17 декабря 2011

Поскольку в строке # 188 вашего JS Fiddle вы звоните blocks[i].updatePosition(dt);, а консоль Chrome сообщает мне Uncaught TypeError: Cannot call method 'updatePosition' of undefined

Т.е. blocks[i] не определено.

0 голосов
/ 17 декабря 2011

Моим первым предположением будет то, что функция не вызывается.

...