script 属性 defer 、async

都只能用于外部脚本

defer:

  • 告诉浏览器立即下载,但延迟执行。script元素包含的脚本延迟到浏览器遇到</html>标签后再执行。
  • HTML5规范要求按照出现的先后顺序执行。
  • 会先于DOMContentLoaded事件执行。但在现实当中,延迟脚本并不一定按照顺序执行,也不一定会在DOMContentLoaded事件触发前执行,因此最好只包含一个延迟脚本。

async:

  • 告诉浏览器立即下载文件,不保证按先后顺序执行。
  • 指定async的目的是不让页面等待脚本下载和执行,从而异步加载其他内容。
  • 所以,异步脚本不要在加载期间修改DOM。异步脚本一定会在页面load事件前执行,但可能会在DOMContentLoaded事件触发之前或之后执行。

参考:《JavaScript高级程序设计(第三版)》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,889评论 19 139
  • 简单介绍JavaScript的发展历史 JavaScript因互联网而生,回顾它的历史要从浏览器的历史讲起。 19...
    _Dot912阅读 3,505评论 0 3
  • defer 延迟脚本: 例子: 1.脚本会延迟到整个页面都解析完毕后,DOMContentLoaded 事件触发之...
    Llane00阅读 4,264评论 0 0
  • 今天温度26°不算太高,儿子也不上补习班,我也没其他大事可做,于是我们一家在吃过10点的早饭后,准备外出游玩,儿子...
    甲午之印阅读 1,418评论 0 0
  • 没化过“晒伤妆”?小心你已经OUT啦! 失业已久的小S登上VOGUE封面,成功变回“少女辣妈小S",宣...
    玮玮道来爱阅读 1,891评论 0 1

友情链接更多精彩内容