Таймеры — это полезный способ выполнения кода с заданным интервалом или после задержки. В JavaScript есть две основные функции таймера: setTimeout
и setInterval
.
setTimeout
setTimeout
позволяет вам выполнить функцию один раз через указанное количество времени. Синтаксис для setTimeout
следующий:
setTimeout(function, delay);
Где function
— это функция, которую вы хотите выполнить, а delay
— это время в миллисекундах до выполнения функции. Например:
function sayHello() { console.log("Hello!"); } setTimeout(sayHello, 1000); // Outputs "Hello!" after 1 second
Вы также можете передать аргументы функции, обернув их в анонимную функцию:
function sayHello(name) { console.log(`Hello, ${name}!`); } setTimeout(function() { sayHello("John"); }, 1000); // Outputs "Hello, John!" after 1 second
setTimeout
возвращает идентификатор таймера, который можно использовать для отмены таймера с помощью функции clearTimeout
. Например:
let timerId = setTimeout(sayHello, 1000); // Later on, to cancel the timer clearTimeout(timerId);
setInterval
setInterval
похож на setTimeout
, но позволяет многократно выполнять функцию с заданным интервалом. Синтаксис для setInterval
следующий:
setInterval(function, interval);
Где function
— это функция, которую вы хотите выполнить, а interval
— это время в миллисекундах между каждым выполнением. Например:
let count = 0; function incrementCount() { count++; console.log(count); } setInterval(incrementCount, 1000); // Outputs the count every 1 second
Как и в случае с setTimeout
, вы можете передавать аргументы функции, заключая их в анонимную функцию, а setInterval
также возвращает идентификатор таймера, который можно использовать для отмены таймера с помощью clearInterval
.
let timerId = setInterval(incrementCount, 1000); // Later on, to cancel the timer clearInterval(timerId);
Важно отметить, что точное время интервала не гарантируется, поскольку фактический интервал может варьироваться в зависимости от других процессов, запущенных на компьютере.
"Поверьте, что вы можете, и вы уже на полпути". — Теодор Рузвельт