front-end-interview-questions
front-end-interview-questions copied to clipboard
【HTML】`<script>` 标签的`async` 与`defer` 有什么区别
两种方式导致脚本不同的方式执行,布尔值属性 是没有值的 只对src
的标签才起作用
可以在下载脚本的同时 解析和渲染文档
- defer 会让浏览器把脚本推迟到文档完全加载解析之后(可以操作位文档)
- defer按照文档中出现的顺序
- async 会让浏览器尽早的运行脚本 脚本下载期间 仍热庵不会阻塞文档
- async 运行的顺序是无法预测的(不能保证出现的次数执行)
- 存在两个属性的情况下 那么 async 起作用
async | defer |
---|---|
可选 | |
立即下载脚本但是执行推迟 | 文档解析和显示完成再执行脚本 |
不阻止其他页面 | |
推迟执行 | 异步执行 |