script里面的defer和async

本文详细介绍了在HTML中加载JavaScript文件的不同策略。通过对比不使用、使用defer与使用async属性的效果,帮助开发者理解如何优化页面加载速度及执行顺序,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在引用JS文件时,如果不加defer和async,浏览器读到下面a.js文件时,会把第一个js下载完并执行,然后再接着下载b.js并执行接着再读下面的。

当加了defer时,浏览器把a.js文件下载下来不是马上执行,而是等到整个页面都加载完后再执行。

加了async属性时,浏览器会b.js文件下载执行,在执行b.js的同时,并不影响浏览器继续解析下面的代码,这是个异步执行的属性,而上面那个defer是个推迟执行的属性。



<script defer src="js/a.js"></script>

<script async src="js/b.js"></script>