javascript chapter 15 Web浏览器中Javascript
15.1
<script defer src="deferred.js"></script>
<script async src="async.js"></script>
defer和async属性都告诉浏览器链接的script不使用document.write()来生成Html。
这样,浏览器可以在下载html文档的同时下载脚本。
defer属性表示浏览器会延迟处理脚本,直到文档被完全加载和等待交互。
async属性表示浏览器会尽快运行脚本但也不会阻止文档下载。
如果两个属性都有添加,async属性起作用。
defereed脚本会按照在文档中的顺序来执行。async脚本会在加载完毕就执行。这意味着它执行是乱序的。
有type="module"的脚本,默认是在文档加载完毕后处理的,但如果它有defer属性,你可以使用async属性覆盖它,这样脚本会在模块和它的依赖项被加载完毕时执行。
按需加载javascript
当用户点击时或打开菜单时加载javascript,使用import()
不使用模块,按需加载,使用