Pull to refresh

Comments 14

Эм… А что должен делать код с setTimeout(function(){}); без второго аргумента?

К тому же, на моей машине с Firebug 1.2.1 выдает alert с «все нормально»…
В тесте нет второго аргумента… что бы он не отвлекал… сути он не меняет

Для теста второй аргумент должен быть маленьким до 10ms… Иначе код отработает естественным образом, а потом setTimeout сработает.

Без второго аргумента setTimeout выполняется, сразу, как выполнится весь другой код барузера… так можно поймать момент, что javascript закочил работу… зачем это надо, это дело второе…

Я тестировал в FF 3.0.4 и 3.0.5 на двух машинах c XP… Почему У Вас не так не знаю…
Если файл открывается локально, на прямую, проблемы не наблюдается… только если открывать через web-сервер или Инет.
Может есть ещё какие то зависимости… с начало думал, что дело в версиях firefox, только потом firebug догадался отключть
FF 3.1b2, FB 1.3.0b5, выдал «всё нормально»
Обновил firebug до Fb 1.3b тоже ошибки больше не наблюдается…
Забираю заметку с блога web-разработки… в персональный
Не очень то актуально получается… ошибка совсем какая-то узкая
А с какого перепугу setTimeout() должен ждать, пока выполнится весь остальной код?

Как работают таймеры в JavaScript

>с какого перепуга…
вот даже и не знаю =)

Убедиться можно как то так:
setTimeout(function(){alert('я таймер и выполнился я когда счётчик досчитал до:'+i)},1);
for(var i=0,i<10000,i++){}
код без ошибок:
setTimeout(function(){alert('я таймер и выполнился я когда счётчик досчитал до:'+i)},1);
for(var i=0;i<1000000;i++){}
И вообще, здесь в корне неверное понимание сути происходящего.
Ничего eval не обрывает.
Просто в FF 3.0.4, FF 3.0.3 при включенном firebug-e выполнение функции в setTimeout() начнется после
ik = true;
так как выполнение остального кода будет тормозиться на eval().

На остальных браузерах eval() успеет проскочить раньше, чем начнется выполнение функции в setTimeout(), и к тому времени ik будет уже false;
setTimeout паралельно не выполняется… можете подсказать как получить промежуточное число счётчика код которого в коменте чуть выше?
черт побери, был неправ… ((
поливаю спину чаем… ((
Ликбез: Весь JavaScript исполняется в браузере в один поток…
поставил firebug 1.2.1 на FF 3.1b3pre (отключил проверку совместимости версии)
всё нормально отработало
Sign up to leave a comment.

Articles