
12.08.2013, 16:04
|
Аспирант
|
|
Регистрация: 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
|