script标签默认阻塞HTML解析和渲染,async下载完立即执行,适合独立脚本;defer在DOM解析完成后、DOMContentLoaded前按序执行,适合依赖DOM的逻辑;type="module"默认类似defer,import()支持动态按需加载。

script 标签默认会阻塞 HTML 解析和渲染
浏览器遇到 标签时,会暂停 DOM 构建、停止页面渲染,直到脚本下载、解析、执行完成。这是最常被忽视的首屏卡顿根源——哪怕只是 10KB 的 analytics.js,也可能让白屏时间延长 300ms 以上。
关键判断:只要脚本没加 async 或 defer,且不在











