关于对延迟脚本的思考
async和defer属性的脚本,相信大家都听说过,但是他的真正执行细节是什么样子的?...而已
第一次实验结果:
image.png
再次刷新页面(注意我已经禁用了浏览器缓存),结果为:
image.png
再次刷新,发现async执行时机和顺序不确定,但是能确定defer肯定在async之后执行...,我发现defer永远都是最后下载的)
image.png
async和defer两种模式,区别在于:
async是告诉浏览器,它不会操作dom,可以不必等到它下载解析完后再加载页面,也不用等它执行完后再执行其他脚本...后面执行,从我的实验结果和书上对它们对解析来看
影响多个异步脚本的执行顺序因素
脚本文件大小
网络传输因素
特殊情况
当所有的脚本文件都很小很小的时候,结果会在很大概率稳定在
image.png
使用的注意点...异步推迟脚本的执行顺序并不稳定,所有尽量只有一个
使用异步推迟脚本时,应该考虑什么场景才使用,而不是滥用它
写在最后
纸上得来终觉浅,欲知此事要躬行,我写得也不一定对,如果你有问题或者更好的答案可以在下面参与讨论