JavaScript defer和async属性的区别 - 优化脚本加载和执行
`<script>标签中的\defer`和`async`是用来控制脚本的加载和执行行为的属性。\n\n1. `defer`属性:当浏览器遇到带有`defer`属性的`<script>标签时,它会继续解析文档,并在文档解析完成后再按照顺序执行带有\defer`属性的脚本。多个带有`defer`属性的脚本会按照它们在文档中的顺序依次执行。这意味着,脚本的加载不会阻塞文档的解析和渲染,但是会在文档解析完成后按照顺序执行。\n\n2. `async`属性:当浏览器遇到带有`async`属性的`<script>标签时,它会继续解析文档,并在脚本加载完成后立即执行它。多个带有\async`属性的脚本的加载和执行顺序是不确定的,哪个脚本先加载完成就先执行哪个。这意味着,脚本的加载和执行都不会阻塞文档的解析和渲染。\n\n综上,`defer`属性用于在文档解析完成后按照顺序执行脚本,而`async`属性用于在脚本加载完成后立即执行脚本。
原文地址: https://www.cveoy.top/t/topic/pWr3 著作权归作者所有。请勿转载和采集!