对比
我们可以在网址中经常看到script标签出现async以及defer的属性
defer:script被异步加载后并不会⽴刻执⾏,而是要等到整个页面在内存中正常渲染结束后,才会执行。多 个 defer 脚本会按照它们在页面出现的顺序加载。
async:同样是异步加载脚本,区别是脚本加载完毕后⽴即执⾏,这导致async属性下的脚本是乱序的,对于script有先后依赖关系的情况,并不适⽤。
我们可以参考MDN上关于 HTMLScriptElement 的描述:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLScriptElement