Встречается на собеседованиях • сегодня
Подходит ли setInterval для создания таймера на странице
setInterval можно использовать для таймера, но с осторожностью. Основные проблемы:
-
Неточность:
setIntervalне гарантирует точное время между вызовами, особенно если вкладка неактивна или есть нагрузка на процессор. -
Накопление ошибок: Если колбэк выполняется дольше интервала, вызовы будут накладываться.
Лучше использовать рекурсивный setTimeout или requestAnimationFrame для анимаций:
javascript
function updateTimer() {
// Логика таймера
setTimeout(updateTimer, 1000);
}
updateTimer();Для точных таймеров (например, обратного отсчета) лучше вычислять разницу между временными метками:
javascript
const endTime = Date.now() + 30000; // 30 секунд
function update() {
const remaining = endTime - Date.now();
if (remaining <= 0) {
console.log('Время вышло!');
return;
}
setTimeout(update, 100);
}
update();
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы