一名前端小白的学习笔记(3/N)--async和defer的区别

本文深入探讨了HTML中脚本加载属性defer与async的区别。defer确保脚本按顺序执行,不影响页面构建,通常在DOMContentLoaded事件前运行;而async则允许脚本异步下载,不保证执行顺序,可能在DOMContentLoaded前后执行,适用于不依赖于DOM结构的脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

defer

  1.  表明脚本在执行时不会影响页面的构造,脚本会延迟到整个页面都解析完毕后再运行(浏览器遇到</html>标签在执行)
  2. H5规范要求脚本按照他们出现的先后顺序执行
  3. 会先于DOMContentLoaded事件执行
  4. 只适用于外部脚本
  5. 支持Html5的实现会忽略给嵌入脚本设置的defer属性
  6. IE4-7支持,以后不支持

async

  1. 浏览器立即下载文件
  2. 并不保证按照他们出现的先后顺序执行
  3. 目的是不让页面等待两个脚本下载和执行,从而异步加载页面的其他内容
  4. 异步脚本不要在加载期间修改DOM
  5. 一定会在页面的load事件前执行,但可能在DOMContentLoaded事件触发之前或者之后执行
  6. 只适用于外部脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值