主线程

主线程是浏览器处理用户事件和页面绘制的地方。默认情况下,浏览器在一个线程中运行一个页面中的所有 JavaScript 脚本,并执行布局、重排和垃圾回收。这意味着一个长时间运行的 JavaScript 会阻塞线程,导致页面无法响应,造成不佳的用户体验。

除非故意使用 Web Worker,比如 Service Worker,否则 JavaScript 只在主线程中运行,因此,脚本很容易导致事件处理或绘制延迟。主线程中运行的工作越少,就有越多的余地来处理用户事件、页面绘制,并对用户保持响应。

参见