async#
一个用于<script>
标签的布尔属性,用于指示浏览器是否应该异步加载脚本。当设置为 async 时,脚本将在下载时异步执行,不会阻止页面的解析和渲染。这使得脚本可以在后台下载,而不会影响页面的性能。
当设置为 async 时,脚本不会按照它们在页面中出现的顺序执行,而是在它们下载完成后尽快执行。这意味着,如果页面中有多个脚本依赖于彼此,使用 async 属性可能会导致一些不可预测的行为,因为这些脚本可能不按照正确的顺序执行。
defer#
因此,如果有多个脚本依赖于彼此,最好使用 defer 属性代替 async 属性。defer 属性也可以异步加载脚本,但会按照它们在页面中出现的顺序执行。