脚本没有defer或async,浏览器会立即加载并执行指定的脚本,也就是说不等待后续载入 的文档元素,读到就加载并执行。
defer属性表示延迟执行引入的JavaScript,即这段JavaScript加载时HTML并未停止解 析,这两个过程是并行的。当整个document解析完毕后再执行脚本文件,在 DOMContentLoaded事件触发之前完成。多个脚本按顺序执行。
async属性表不异步执行引入的JavaScript,与defer的区别在于,如果已经加载好,就会 开始执行,也就是说它的执行仍然会阻塞文档的解析,只是它的加载过程不会阻塞。多个脚本 的执行顺序无法保证。
Was this helpful?
0 / 0