JavaScript中defer和async的区别

Posted 瑞瑞大人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中defer和async的区别相关的知识,希望对你有一定的参考价值。

defer是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。浏览器渲染页面,读取到包含defer属性的外部<script>标签时不会停止DOM渲染,而是异步下载,加载完整个页面再运行js。有多个defer的标签时,会按照顺序下载执行。

  async浏览器立即异步下载文件,不同于defer得是,下载完成会立即执行,此时会阻塞dom渲染,所以async的script最好不要操作dom。因为是下载完立即执行,不能保证多个加载时的先后顺序。

以上是关于JavaScript中defer和async的区别的主要内容,如果未能解决你的问题,请参考以下文章

defer和async的区别

script标签async和defer的区别及作用

Js延迟加载的方式都有哪些?defer和async的区别是啥?

js原理:async 和 defer 属性的区别

script标签中defer和async属性的区别

JavaScript 的 defer 与 async