async 和 defer的作用与区别
2022-07-21 本文已影响0人
萤火驻守心间
defer属性:延迟执行引入的 JavaScript,即这段 JavaScript 加载时, HTML 并未停止解析,这两个过程是并行的。当整个 document 解析完毕后再执行脚本文件,在 DOMContentLoaded 事件触发之前完成。多个脚本按顺序执行。
async属性:异步执行引入的 JavaScript,与 defer 的区别在于如果已经加载好,就会开始执行,也就是说它的执行仍然会阻塞文档的解析,只是它的加载过程不会阻塞。多个脚本的执行顺序无法保证。