front-end-interview-questions icon indicating copy to clipboard operation
front-end-interview-questions copied to clipboard

【HTML】`<script>` 标签的`async` 与`defer` 有什么区别

Open yayxs opened this issue 3 years ago • 0 comments

两种方式导致脚本不同的方式执行,布尔值属性 是没有值的 只对src 的标签才起作用

可以在下载脚本的同时 解析和渲染文档

  • defer 会让浏览器把脚本推迟到文档完全加载解析之后(可以操作位文档)
  • defer按照文档中出现的顺序
  • async 会让浏览器尽早的运行脚本 脚本下载期间 仍热庵不会阻塞文档
  • async 运行的顺序是无法预测的(不能保证出现的次数执行)
  • 存在两个属性的情况下 那么 async 起作用
async defer
可选
立即下载脚本但是执行推迟 文档解析和显示完成再执行脚本
不阻止其他页面
推迟执行 异步执行

yayxs avatar Apr 07 '21 14:04 yayxs