Таймеры — это полезный способ выполнения кода с заданным интервалом или после задержки. В 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);

Важно отметить, что точное время интервала не гарантируется, поскольку фактический интервал может варьироваться в зависимости от других процессов, запущенных на компьютере.

"Поверьте, что вы можете, и вы уже на полпути". — Теодор Рузвельт