setInterval в JavaScript: как запустить интервал в JS

setInterval — это встроенная функция в JavaScript, которая позволяет выполнять заданный код или функцию через равные промежутки времени. Интервал будет повторяться до тех пор, пока его явно не остановить с помощью clearInterval.

Синтаксис setInterval

setInterval(callback, delay, ...args)
  • callback — функция, которая будет выполнена.
  • delay — интервал в миллисекундах между вызовами функции.
  • ...args — дополнительные аргументы, которые передаются в вызываемую функцию.

Пример использования setInterval

function sayHello() {
    console.log('Привет!');
}
setInterval(sayHello, 1000); // каждую секунду будет выводиться "Привет!"

Остановка интервала

setInterval возвращает числовой идентификатор, который можно передать в clearInterval, чтобы остановить выполнение:

const intervalId = setInterval(sayHello, 1000);

// Остановить интервал через 5 секунд
setTimeout(() => {
    clearInterval(intervalId);
    console.log('Интервал остановлен');
}, 5000);

Использование анонимной функции в setInterval

setInterval(() => {
    console.log('Текущее время:', new Date().toLocaleTimeString());
}, 1000);

Передача аргументов в функцию через setInterval

function greet(name) {
    console.log(`Привет, ${name}`);
}
setInterval(greet, 2000, 'Алиса');

Особенности setInterval

  • Интервал может сработать не сразу, а только после истечения первого delay.
  • setInterval не гарантирует точную периодичность выполнения, так как реальный интервал зависит от нагрузки на главный поток (event loop).
  • Лучше не забывать очищать интервалы при переходе между страницами или уничтожении компонентов в Single Page Application (SPA).

Очистка интервала перед повторным запуском

В некоторых случаях нужно перезапустить интервал. Важно перед этим его остановить:

let intervalId;

function startInterval() {
    clearInterval(intervalId);
    intervalId = setInterval(() => {
        console.log('Работаем');
    }, 1000);
}

startInterval();

setInterval в JavaScript — это удобный способ для выполнения периодических задач, таких как обновление данных на экране, анимации, таймеры и опрос серверов. При работе с интервалами важно контролировать их очистку, чтобы избегать утечек памяти и лишней нагрузки на страницу.