我刚刚阅读了一篇关于编写快速内存高效 javascript的文章,并且在“最小化回流”部分它警告有关执行单独的 DOM 附加操作,例如:
function addDivs(element) {
var div;
for (var i = 0; i < 20; i ++) {
div = document.createElement('div');
div.innerHTML = 'Heya!';
element.appendChild(div);
}
}
在这个函数之后,作者写道:
“只需将每个新 div 直接附加到元素就可以触发 20 次重排。”
所以作者并没有说它有。由于我大量使用d3.js,所以我去查看github上的源代码以检查他们是否有任何评论reflow
或任何用法DocumentFragment
(尽管这可以通过其他技术实现)。
我的问题是:有人知道 d3.js 是否采用了任何技术来减少回流,还是将优化留给浏览器?
谢谢。