setTimeout планирует выполнение функции или фрагмента кода через указанное количество миллисекунд.
При вызове setTimeout браузер (или среда выполнения Node.js) создает таймер. Функция, переданная в setTimeout, помещается в очередь колбэков (task queue) после истечения заданного времени задержки.
JavaScript является однопоточным. Основной поток выполнения (main thread) выполняет код последовательно. Когда основной поток завершает текущие задачи, он проверяет очередь колбэков. Если в очереди есть функции (например, те, которые были отложены с помощью setTimeout) и основной поток свободен, он извлекает первую функцию из очереди и выполняет ее.
Это означает, что setTimeout(fn, 0) не гарантирует немедленное выполнение функции fn. Она будет выполнена как можно скорее, но только после завершения текущего выполнения кода в основном потоке.
Синтаксис:
js
function: Функция, которую нужно выполнить.milliseconds: Количество миллисекунд перед выполнением функции. Если пропущено, по умолчанию 0.param1, param2, ...: Необязательные аргументы, которые будут переданы в функцию при ее вызове.Пример:
js
setTimeout возвращает числовой ID таймера, который можно использовать для отмены запланированного выполнения с помощью clearTimeout.
Пример использования clearTimeout:
js
Важные моменты: