Справочник JavaScript
setInterval(): повторяем действие по таймеру
setInterval вызывает функцию через примерно равные промежутки времени. Браузер не гарантирует точный график: вкладка и главный поток могут задержать выполнение.
Рабочий пример
let seconds = 0;
const timerId = setInterval(() => {
seconds += 1;
output.textContent = seconds;
if (seconds === 10) clearInterval(timerId);
}, 1000);Функция возвращает идентификатор, который передаётся clearInterval. Без остановки таймер продолжает жить и может обновлять уже ненужный интерфейс.
Когда применять
Интервал подходит для простого индикатора или периодической визуальной проверки. Для сетевых запросов безопаснее планировать следующий setTimeout после завершения предыдущего.
Проверь пример самостоятельно: измени исходные данные, убери одну строку и сравни результат. Такой короткий эксперимент помогает увидеть роль каждого свойства или метода и не превращает обучение в механическое копирование.
Частые ошибки
- Забывать clearInterval
- Ожидать идеально точную секунду
- Запускать новый интервал при каждом клике
Задание
Создай таймер от 10 до 0, который останавливается и блокирует повторный запуск во время работы.
Проверка: результат должен работать с клавиатуры, не создавать ошибок в консоли и оставаться понятным без пояснений автора.