async VS defer

引用

说明

Image

<Script/>

由于浏览器底层机制,渲染引擎在解析html时,若遇到script标签引用文件,则会暂停解析过程并同时通知网络线程加载文件,文件加载后会切换至Javascript引擎执行对应代码,代码执行完成后切换至渲染引擎继续渲染页面。
Image

<script async/>

async 在解析HTML时下载文件,完成时则暂停html解析。
Image

<script defer/>

在html解析时下载,在解析完成后执行。
Image

使用时机

通常应该尽可能使用async,然后是defer,最后是没有属性。