Задать вопрос

Почему EventListener отрабатывает, в то время как запущен большой цикл?

Изучаю EventLoop в js и не могу понять почему, когда я запускаю цикл вроде:
for(let i = 0; i <= 100000000000; i++) {
    console.log("Hi")
}

Я все равно в этот момент могу продолжить проскроливать страницу, браузер отрабатывает мои клики и т.д ведь это не асинхронный вызов. Как я правильно понял, в этот момент стек вызовов должен блокировать абсолютно все мои действия во время выполнения этого цикла, но это не так. То есть да, есть сильные тормоза, но синхронщина так или иначе выполняется, хотя должна ожидать в очереди задач на исполнение.
  • Вопрос задан
  • 295 просмотров
Подписаться 4 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Alexandroppolus
@Alexandroppolus
кодир
Попробовал в Хроме, страницу можно скроллить, но ничего сделать не получается, всё висит. Ни клики, ни выделение текста не работает. Может у тебя квантовый компьютер и этот цикл отрабатывает моментально?
Ответ написан
Комментировать
@maya042
HTML,CSS,JS,React
https://github.com/azat-io/you-dont-know-js-ru/blo...
Для console.log нет спецификаций и требований, разные браузеры реализуют ее по-разному. Ввод-вывод сам по себе медленный и может блокировать другие программы, поэтому для браузера может быть эффективнее обрабатывать вывод в консоль в фоне, пока выполняются следующие команды.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы