<script>
当解析到 script 标签时,页面会停止解析并下载对应的脚本,并马上执行,执行完毕后再继续解析页面。
<script async>
async 在下载脚本的同时不会停止解析 HTML,但是在下载完成后会停止解析并开始执行,执行完毕后继续解析页面。
<script defer>
defer 下载脚本时跟 async 一样不会停止解析 HTML,下载完毕后会延迟到页面解析完后执行。
注意:
由于 async 的异步性,async 不会按照顺序执行。
defer 理论上会按照顺序执行,但实际上 defer 也不一定会按照顺序执行。