美文网首页饥人谷技术博客
async和defer的作用是什么?有什么区别。

async和defer的作用是什么?有什么区别。

作者: Chy18 | 来源:发表于2017-03-01 15:38 被阅读0次

           当浏览器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档。

    三者之间的区别?

    • script
      当浏览器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档。

    • defer script
      当浏览器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,待到文档解析完成,脚本才会执行。

    • async script
      当浏览器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,脚本下载完成后开始执行脚本,脚本执行的过程中文档将停止解析,直到脚本执行完毕。

    Paste_Image.png

    什么情况下使用 defer 和 async?

    • 如果脚本不依赖于任何脚本,并不被任何脚本依赖,那么则使用 defer。
    • 如果脚本是模块化的,不依赖于任何脚本,那么则使用 async。
    • 若两个属性同在,会忽略defer而遵从async。

    相关文章

      网友评论

        本文标题:async和defer的作用是什么?有什么区别。

        本文链接:https://www.haomeiwen.com/subject/rstcgttx.html