zoukankan      html  css  js  c++  java
  • script 标签里的 async 和 defer

    • 无 async 和 defer

      浏览器立即加载并执行指定脚本(读到即加载并执行),阻塞文档解析

    • async

      脚本的加载执行和文档的加载渲染 并行。

    • defer

      脚本的加载和文档的加载渲染并行,但脚本的执行必须在所有元素解析完成之后进行,即DOMContentLoaded事件触发之前完成。

       执行顺序图示


    QQ截图20170112161753.png

    notice
    • defer和async在网络读取(下载)阶段是一样的,和HTML解析都是并行(异步)
    • async 是无序执行,它的执行紧跟着下载,只要下载完了就立即执行(不考虑脚本的依赖关系,对于那些没有依赖关系的脚本来说是非常合适的),执行时同样阻塞HTML解析。
    • defer 是有序执行,会按照他们在页面上的顺序依次执行,在HTML解析完成之后,DOMContentLoaded事件之前执行。
  • 相关阅读:
    Oracle数据库基础
    2016-08-08二期模拟考试
    易买网-登入
    常量接口模式
    反射
    Hhibernate延迟加载
    URL和URI的区别和联系
    Socket编程
    ArrayList如何实现线程安全
    移位运算符
  • 原文地址:https://www.cnblogs.com/xuezhi/p/6278883.html
Copyright © 2011-2022 走看看