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