js底层原理

博客指出操作DOM昂贵,会导致重排和重绘,且JS与DOM连接消耗性能。介绍了浏览器渲染过程,包括解析HTML、CSS,合并生成render树等步骤。还列举了造成重排和重绘的操作及触发重排的属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.操作DOM是昂贵的(操作DOM会导致重排和重绘)
2.js和DOM是两种东西,每次连接都需要消耗性能。
【js和DOM存在不同的文件中,例如chorme,使用webCore库来渲染页面,单js引擎是V8】


浏览器渲染过程:
1.解析HTML,构建DOM树
2.解析CSS,生产css规则树
3.合并DOM树和CSS规则树,生成render树
4.布局render树,负责各元素尺寸、位置的计算
5.绘制render树,绘制页面像素信息
6.浏览器会将各层的信息发送给GUP,GUP将各层合成

(不可见节点:meta、link标签,display:none属性标签)
造成重排的操作:添加或删除可见的dom元素、元素位置改变、尺寸改变、内容改变、页面渲染器初始化、浏览器窗口尺寸改变
触发重排的属性:offsetTop offsetLeft offsetWidth offsetHeight scrollTop scrollLeft scrollWidth scrollHeight clientTop clientLeft clientWidth clientHeight getComputedStyle()
【触发重排一定会触发重绘】
造成重绘的操作:改变颜色等


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值