defer脚本在html解析完成、domcontentloaded触发前按书写顺序执行,dom一定可用;async脚本下载完立即中断解析执行,时机不可控且dom可能未就绪。

两者都不阻塞 HTML 解析,但「不阻塞」只发生在下载阶段;一旦执行开始,都会中断解析——关键差异在于执行时机是否可控、是否等 DOM 就绪。
defer 脚本何时执行?DOM 一定可用吗?
defer 脚本的执行被浏览器硬性锁定在两个节点之间:HTML 字符串解析完成之后、DOMContentLoaded 事件触发之前。这意味着:
-
document.body、document.head和所有已声明的元素(哪怕写在
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











