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 — это удобный способ для выполнения периодических задач, таких как обновление данных на экране, анимации, таймеры и опрос серверов. При работе с интервалами важно контролировать их очистку, чтобы избегать утечек памяти и лишней нагрузки на страницу.