🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 前言 两个都属于属于h5新增属性,async在天猫中被广泛使用,最大程度的利用异步加载。 ## async ### 实例 `<script type="text/javascript" src="demo_async.js" async="async"></script>` `<script type="text/javascript" src="demo_async.js" async></script>` ### 定义和用法 async 属性规定一旦脚本可用,则会异步执行。 注释:async 属性仅适用于外部脚本(只有在使用 src 属性时)。 注释:有多种执行外部脚本的方法: 如果 async="async":脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行) 如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行 如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本 ### 兼容性 ![async兼容性视图](https://box.kancloud.cn/d57943f9de0a95ea4fce99cd59fdd7b8_1273x462.png) ## defer ### 实例 `<script type="text/javascript" defer="defer"></script>` `<script type="text/javascript" src="demo_async.js" defer></script>` ### 定义和用法 defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。 有的 javascript 脚本 document.write 方法来创建当前的文档内容,其他脚本就不一定是了。 如果您的脚本不会改变文档的内容,可将 defer 属性加入到 `<script>` 标签中,以便加快处理文档的速度。因为浏览器知道它将能够安全地读取文档的剩余部分而不用执行脚本,它将推迟对脚本的解释,直到文档已经显示给用户为止。 ### 兼容性 基本很少使用,慎重选择 ![](https://box.kancloud.cn/8038104321f5eda39e400350018fc5f7_1279x453.png)