默认加载
<script src="http://localhost:80/test.js"></script>
读到 script 标签,就下载并执行,并且阻塞后续文档元素加载。
推迟加载 defer
<script src="http://localhost:80/test.js" defer></script>
读到 script 标签,就下载(但不会阻塞文档元素加载),下载完成后等文档元素加载完成后才执行。
异步加载 async
<script src="http://localhost:80/test.js" async></script>
读到 script 标签,就下载(但不会阻塞文档元素加载),下载完成后立即执行(文档元素进入阻塞状态),执行后继续加载文档元素。