页面在初始化的时候,会先把html解析成一颗DOM树,然后把CSS代码解析成一颗CSS规则树,然后这两棵树组合成一个render渲染树,再开始绘制页面
页面在js代码运行时会再改变外观和尺寸,然后分为两种情况:重绘和回流,回流一定会引起重绘,但重绘不一定会引起回流
性能优化
首先,浏览器对UI的渲染就是优化,他会把要绘制的东西放在队列中异步渲染
程序员优化:
可以在操作之后把这块东西隐藏,然后做好再显示(display)
不要频繁使用行内样式(div.style.color,div.style),可以使用className div.className=""
使用克隆元素,可以复用之前的各种东西
把要操作的东西脱离文档流(position:fixed)
文档片段(documentFragment)先不要直接操作DOM树,而是把所有操作在文档片段做好,然后把文档片段加到DOM树中