元素类
元素测量
elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
elem.clientLeft..., elem.clientTop, elem.clientWidth, elem.clientHeight elem.getClientRects(), elem.getBoundingClientRect...mouseEvt.layerX, mouseEvt.layerY, mouseEvt.offsetX, mouseEvt.offsetY document
doc.scrollingElement 仅会导致样式重新计算...Range:
range.getClientRects(), range.getBoundingClientRect()
SVG
可以参见 Tony Gentilcore’s 2011 Layout...它们所消耗的性能取决于当时的内容或者情况,但通常来说两者所消耗的性能都是相似的;
一些简单的解决办法:
避免在 for 循环中强制布局以及更改DOM
使用开发工具分析产生影响的代码
批量读写DOM(使用