Встречается на собеседованиях • сегодня

Подходит ли setTimeout для создания таймера на странице

setTimeout не лучший выбор для точного таймера, так как он не гарантирует точное время выполнения из-за Event Loop и других задач в очереди. Для таймеров лучше использовать setInterval или requestAnimationFrame (для анимаций).

Пример с setInterval:

javascript
let seconds = 0;
const timer = setInterval(() => {
  seconds++;
  console.log(seconds);
  if (seconds >= 10) clearInterval(timer);
}, 1000);

Если нужна высокая точность, можно комбинировать с Date:

javascript
let start = Date.now();
const timer = setInterval(() => {
  const elapsed = Math.floor((Date.now() - start) / 1000);
  console.log(elapsed);
  if (elapsed >= 10) clearInterval(timer);
}, 1000);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы