js操作DOM时发生了什么?
js每次操作DOM都出发了回流,这非常的消耗性能。
什么是文档碎片容器?
document.createDocumentFrgement()----用于暂时存放创建的DOM元素。
文档碎片容器有什么用?
将需要添加到body中的元素先添加到碎片容器中,再把碎片容器插入到对应的位置,这样可以减少DOM操作,提高性能。
回流:
渲染树中的一部分或者全部因为元素的尺寸、布局、隐藏等改变而需要重新构建。
回流至少会发生一次,页面第一次加载的时候。
重绘:
在回流时,浏览器会使渲染树中受影响的元素部分失效,并重新绘制这个部分的渲染树,完成回流后,浏览器重新绘制受到影响的元素到页面中。
回流和重绘的区别:
回流必定会发生重绘,重绘不一定引起回流。