Показать сообщение отдельно
  #8 (permalink)  
Старый 12.08.2013, 16:04
Аспирант
Отправить личное сообщение для NeoN Посмотреть профиль Найти все сообщения от NeoN
 
Регистрация: 01.03.2013
Сообщений: 77

нашел в комментах на этом сайте:

Цитата:
Автор: Dmitry A. Soshnikov, дата: 19 ноября, 2009 - 14:45
#permalink

В Firefox, в setTimeout первым аргументом передаётся "просроченное время", "задержка" (если таковые возникнут) в ходе интерпретации кода. Т.е., если setTimeout не успевает запуститься после назначенного времени (например, через 100мс), эта "просроченная задержка" фиксируется первым параметром.

Далее, когда поток освободился и готов принять (вклинить) код setTimeout-a, проверяется, есть ли "просроченное время", и если есть, то код может выполнится моментально (проверить можно, если поставить alert сразу после вызова setTimeout-a и подождать некоторое время, превышающее интервал таймаута).

Простой пример:
setTimeout(function () {
alert(arguments[0]); // ah?
}, 0);

Или даже так (чтобы приблизать к Вашему случаю):
setTimeout(function (myParam) {
alert(myParam); // wth?
}, 0);

Почитать можно в багтреккере:

https://bugzilla.mozilla.org/show_bug.cgi?id=10637
https://bugzilla.mozilla.org/show_bug.cgi?id=263945
ссылка: http://javascript.ru/blog/subzey/Firefox-setTimeout
Ответить с цитированием