深入解析DOM树的加载过程

1.在浏览器中输入URL,交给DNS域名解析,找到IP,向服务器发送请求;(里面还有缓存,http协议,TCP等等)

2.服务器返回数据,浏览器接收文件(html,js,css,img...),二进制文件。

    二进制转换成html,比如index.html

     构建DOM树,html解析器,过程中遇到没有defer和async的<script>时,会终端解析,等待<script>下载完成继续开始解析。

        文件解析的过程中遇到含有defer和async的<script>时,会放到后台进行下载,并不会阻止当前文件的解析。(defer是整个页面解析完毕后才开始执行。async是异步执行,页面未必解析完毕)

 3.构建css树,css解析器

4.构建render树,dom树+css树

5.布局layout与绘制point,计算对象之间的大小,确定每个节点在屏幕的确切坐标。

reflow(回流):当元素属性发生改变且影响布局时(宽高、内外边距等),产生回流,相当于刷新页面

repaint(重绘):当元素属性发生改变且不影响布局时(颜色、透明度等),产生重绘,相当于不刷新页面,动态更新内容。

重绘不一定引起回流,回流必将引起重绘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值