Показать сообщение отдельно
  #7 (permalink)  
Старый 09.01.2012, 17:57
Интересующийся
Отправить личное сообщение для vandy3 Посмотреть профиль Найти все сообщения от vandy3
 
Регистрация: 28.10.2010
Сообщений: 14

Ну все правильно человек написал, что если написать, так как он написал в последнем примере, то функция вызовется сразу, а не сработает таймер.
В setTimeout передается ссылка на функцию, которую надо выполнить по истечение таймера. То есть либо можно послать имя функции, либо через переменную, либо создав анонимную функцию, в которой уже будет твоя функция с параметром.
var q = function(){}; // причем можно и на уже существующую функцию сделать ссылку
setTimeout( myFunc, 1000 );
setTimeout( q, 1000 );
setTimeout( function(){ myFunc('vasya'); }, 1000 ); // через анонимную функцию, здесь происходит объявление функции, без выполнения.


Причем в setTimeout ещё же первым параметром можно строчку передать, тогда можно и параметры передавать:
setTimeout( "myFunc('vasya')", 1000 );

В последнем не уверен на 100%, но по-моему правда.
Ответить с цитированием