在引用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>