Xpoint
   [напомнить пароль]

При вызове функции по названию в FF пояаляется аргумент

Метки: [без меток]
2010-02-05 05:33:04 [обр] Николай Бельцов(5/49)[досье]
<script>
var S = 0;
function myFunc ()
{
if (myFunc.arguments.length == 1) alert (myFunc.arguments [0]);
document.getElementById ('iBtn').value = ++S;
if (S < 5) setTimeout (myFunc, 2000);
}
</script>
<input id="iBtn" type="button" value="0" onclick="this.disabled = 1; myFunc (1)">

Все браузеры, кроме FF, по нажатию на кнопку показывают alert-окошко ОДИН раз.
Браузер FF (проверял в версии 3.5.7) показывает это окошко 5 раз.
Причём в окошке показываются разные значения этого невесть откуда взявшегося аргумента.

Методом проб и ошибок узнал, как это дело "лечится" - вызов по тайм-ауту надо оформить в кавычках и с круглыми скобками, вот так:
setTimeout (myFunc, 2000);

И всё же - что это за аргумент, откуда он появляется и почему имеет нестабильное значение?

спустя 1 минуту [обр] Николай Бельцов(5/49)[досье]
Сорри, "рецепт лечения" записал неверно. Надо так:
setTimeout ('myFunc ()', 2000);
спустя 21 час [обр] Николай Бельцов(5/49)[досье]
Вопрос снимается, на другом ресурсе дали ссылку http://javascript.ru/blog/subzey/Firefox-setTimeout
Managee CMS
Powered by POEM™ Engine Copyright © 2002-2005