Script标签中的defer和async
时间: 2024-05-29 12:14:56 浏览: 96
JS中script标签defer和async属性的区别详解
`defer`和`async`是script标签中的两个属性,用于控制脚本的加载和执行。
`defer`属性告诉浏览器该脚本将在文档解析完成后执行,但在`DOMContentLoaded`事件之前执行。这意味着脚本不会阻止页面的渲染和交互,因此可以提高页面的加载速度。如果一个页面包含多个`defer`脚本,则它们将按照它们在页面中出现的顺序依次执行。
`async`属性告诉浏览器该脚本可以异步加载,也就是说在文档解析的同时执行,不会阻止页面的渲染和交互。但是,因为脚本是异步加载的,所以它们的执行顺序是不确定的。如果多个`async`脚本之间有依赖关系,则可能会导致执行错误。
总之,如果脚本不需要立即执行,且不依赖于其他脚本,则应该使用`defer`属性。如果脚本需要立即执行,或者有依赖关系,则应该使用`async`属性。
阅读全文