zoukankan      html  css  js  c++  java
  • JavaScript标记上的defer与async的作用与区别

    当浏览器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档。但是我们可以将脚本标记为 defer,这样就不会停止文档解析,等到文档解析完成才执行脚本,也可以将脚本标记为 async,以便由其他线程对脚本进行解析和执行。

    三者之间的区别?

    script

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

    defer script

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

    async script

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

    什么情况下使用 defer 和 async?

    1. 如果脚本不依赖于任何脚本,并不被任何脚本依赖,那么则使用 defer。
    2. 如果脚本是模块化的,不依赖于任何脚本,那么则使用 async。

    转载自:http://www.webhek.com/javascript-defer-async

  • 相关阅读:
    Java面向对象(三)
    Java面向对象(二)
    Java面向对象(一)
    java基础(六)
    java基础(五)
    java基础(四)
    java基础(三)
    java基础2
    java基础
    计算机内存
  • 原文地址:https://www.cnblogs.com/moretry/p/5908974.html
Copyright © 2011-2022 走看看