Справочник Javascript
setTimeout
Синтаксис
timeout_id = window.setTimeout ( func|code, delay)
Аргументы
func|code
Функция или строка кода для выполнения
delay
Задержка в миллисекундах, т.е 1000 это 1 секунда
Описание, примеры
В отличие от метода setInterval , setTimeout выполняет код только один раз.
В каком виде указывать первый параметр - разницы нет.
При указании строки кода - динамически создается функция func с телом code.
Следующие два вызова почти одинаковы:
Выделить все
setTimeout( 'alert("прошла секунда")' , 1000 )
function sec( ) {
alert ( "прошла секунда" )
}
setTimeout( sec, 1000 )
Но более правильным считается объявление функции в явном виде, например так:
setTimeout( function ( ) { alert ( ...) } , 1000 )
Вызов со строкой существует для совместимости с прежними версиями javascript.
this
Функция выполняется в другом контексте, отличном от контекста, в котором задается setTimeout.
При этом значение this = window, поэтому о передаче правильного this надо позаботиться отдельно.
Пример: Без передачи this
Пример: Передача this через call
Отмена выполнения
Вы можете отменить выполнение setTimeout при помощи clearTimeout , используя для этого идентификатор таймаута.
Пример:
var timeout_id = setTimeout( ...)
clearTimeout( timeout_id)
Дежурная шутка Встречаются два приятеля:
— Ты в курсе что скоро конец света?
— Ничего, без света посидим!
— А ведь Интернета тоже не будет!
— А! Ужас! Трагедия! Драма!
— В этом то и есть весь конец света :(