HTML文档解析顺序

  1. 用户访问页面链接,浏览器向服务器请求html文件并下载

  2. 从上到下的顺序下载文件,主线程同步下载标签中的文件,然后多线程异步解析各文件

  3. <head>标签中的文件下载并解析完成,才会开始执行body里面的代码来渲染页面,js要使用浏览器的js引擎来解析,所以如果<head>标签中有过大的js,解析过慢,会阻塞页面渲染,出现白屏。过大的css也会阻塞

  4. 所以将js文件的加载放在body的后面,即</body>标签的前面,防止阻塞页面渲染,或者dom元素未加载完成

  5. css文件之所以要放在<head>标签里,是因为要保证页面刚渲染出来的时候,样式已经是准备好的,不然会闪现乱格式

注意: javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值