Я пишу учебник по JavaScript для одного из своих классов и хотел проиллюстрировать, что стек вызовов может блокировать другие процессы, и пока это происходит, взаимодействие со страницей ставится в очередь до тех пор, пока стек вызовов не станет пустым.
const print = function(){
console.info( "Hello World" );
}
setTimeout(print,0);
for(let i=0 ; i < 2000000000 ; i++);
console.info();После запуска приведенного выше кода я заставляю их щелкать ссылки и изменять размер окна, чтобы увидеть, что страница не перерисовывается, но прокрутка работает нормально на многих веб-сайтах, таких как Stack Overflow. Он заблокирован на Reddit. Я протестировал это как в Chrome, так и в Firefox, чтобы дважды проверить, была ли какая-то оптимизация, но оно вело себя одинаково.
Я предполагаю, что если на сайте нет обработчиков событий, связанных с прокруткой, то есть специальный поток для базовой прокрутки. Это потому, что я заметил, что сайты с липкими заголовками разрешают прокрутку, но их липкий эффект не применяется до тех пор, пока цикл не завершится.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Сообщение в блоге Microsoft от Нолан Лоусон, на которое я ссылаюсь ниже, содержит много полезной информации по этому конкретному вопросу - прочитайте его. Вот фрагмент из этого сообщения в блоге:
As it turns out, the whole “browsers are single-threaded” story is largely true, but there are important exceptions. Scrolling, in all its various flavors, is one of those exceptions.
Over the years, browser vendors have recognized that offloading work to background threads can yield enormous improvements to smoothness and responsiveness. Scrolling, being so important to the core user experience of every browser, was quickly identified as a ripe target for such optimizations. Nowadays, every major browser engine (Blink, EdgeHTML, Gecko, WebKit) supports off-main-thread scrolling to one degree or another (with Firefox being the most recent member of the club, as of Firefox 46).
Под липкой вы имеете в виду версию CSS или JavaScript?