script标签属性defer & async

script标签属性defer & async

1. 需求描述

script标签的这两个属性看起来倒是不陌生,但也不熟悉只有在面试时候被问到过(敲黑板),直到今天给页面添加埋点,发现调用埋点方法报错,于是有了这篇文~。

2. 属性简介

由于script脚本的执行会阻塞页面(dom的解析),一些网页就把script放在最后加载,只是当网速不是很快,或者script文件很大时候仍然会阻塞,而有了defer和async,就使得页面体验效果变好了(不过适用于在当前页面的script脚本没有在加载时候用到的)。

2.1 defer
defer:推迟、延期

 1.defer告诉浏览器不用等script标签,继续执行html解析dom,就像是一个在后台运行的程序。
 2.具有延迟的脚本总是在DOM就绪时(但在DOMContentLoaded事件之前)执行。
 3.有defer属性的script标签之间也有自己的顺序,从上到下依次执行。
 test2文件(输出script2) test1文件(输出script1)

代码块运行结果

2.2 async
async:异步

1.同样的不阻塞页面
2.标签与标签之间独立(互不等待)
3.DOMContentLoaded和async脚本不会互相等待
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值