关于对延迟脚本的思考
async和defer属性的脚本,相信大家都听说过,但是他的真正执行细节是什么样子的?.../common3.js">
以上7个脚本文件,其中common开头为非异步延迟脚本,其余的都指定了延迟脚本的模式,分为async和defer两种
通过document.createElement...,俗称异步执行脚本, 多个async无法保证他们的执行顺序,例如async1和async2无法按顺序执行
defer是在解析到结束到标签后才会执行,俗称推迟执行脚本,多个defer可以按顺序执行...后面执行,从我的实验结果和书上对它们对解析来看
影响多个异步脚本的执行顺序因素
脚本文件大小
网络传输因素
特殊情况
当所有的脚本文件都很小很小的时候,结果会在很大概率稳定在
image.png
使用的注意点...异步推迟脚本的执行顺序并不稳定,所有尽量只有一个
使用异步推迟脚本时,应该考虑什么场景才使用,而不是滥用它
写在最后
纸上得来终觉浅,欲知此事要躬行,我写得也不一定对,如果你有问题或者更好的答案可以在下面参与讨论