浏览器加载 JS 脚本流程

本文详细介绍了浏览器加载传统ES5和ES6 JS脚本的流程,包括同步加载造成的浏览器堵塞问题以及异步加载的defer与async属性的使用。对于ES6模块,浏览器会自动异步加载,并遵循特定的执行顺序和作用域规则。
摘要由CSDN通过智能技术生成

浏览器加载 JS 脚本流程

加载传统 ES5 JS 脚本的流程

在 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。

//页面内嵌的脚本
<script type="application/javascript">
  // module code
</script>

//外部脚本
<script type="application/javascript" src="path/to/myModule.js">
</script>

上面代码中,由于浏览器脚本的默认语言是 JavaScript,因此 type="application/javascript"可以省略。

默认情况下,浏览器是同步加载 JavaScript 脚本,即渲染引擎遇到<script>标签就会停下来,等到执行完脚本,再继续向下渲染。如果是外部脚本,还必须加入脚本下载的时间。

如果脚本体积很大,下载和执行的时间就会很长,因此造成浏览器堵塞,用户会感觉到浏览器“卡死”了,没有任何响应。这显然是很不好的体验,所以浏览器允许脚本异步加载,下面就是两种异步加载的语法。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值