<script> 标签引入脚本有三种情况:
立即执行
推迟执行
尽快执行
有一张图可以帮助理解这些情形:&lt;img src="https://i-blog.csdnimg.cn/blog_migrate/f312a0869ad686023c8a079d0de60c97.jpeg" data-rawwidth="689" data-rawheight="112" class="origin_image zh-lightbox-thumb" width="689" data-original="https://pic4.zhimg.com/284aec5bb7f16b3ef4e7482110c5ddbb_r.jpg"&gt;*来源:
立即执行
<script src="a.js">顺序:保证先后顺序。解析:HTML 解析器遇到它们时,将阻塞(取停止解析),待脚本下载完成并执行后,继续解析标签之后的文档。
<script src="b.js">
推迟执行
<script defer src="a.js">顺序:保证先后顺序。解析:HTML 解析器遇到它们时,不阻塞(脚本将被异步下载),待文档解析完成之后,执行脚本。
<script defer src="b.js">
尽快执行
<script async src="a.js">顺序:不保证先后顺序。解析:HTML 解析器遇到它们时,不阻塞(脚本将被异步下载,一旦下载完成,立即执行它),并继续解析之后的文档。
<script async src="b.js">
有一张图可以帮助理解这些情形:&lt;img src="https://i-blog.csdnimg.cn/blog_migrate/f312a0869ad686023c8a079d0de60c97.jpeg" data-rawwidth="689" data-rawheight="112" class="origin_image zh-lightbox-thumb" width="689" data-original="https://pic4.zhimg.com/284aec5bb7f16b3ef4e7482110c5ddbb_r.jpg"&gt;*来源:

作者:长天之云
链接:http://www.zhihu.com/question/20531965/answer/15418794
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。