当您使用Node.removeChild()
它时,将删除的节点返回给您。然后,如果需要,您可以再次将其附加到您的 DOM 上。因此,从逻辑上讲,它保留在内存中以使其成为可能。您可以在http://jsfiddle.net/6QtjD/上查看。
我的疑问是:如果我删除了太多节点,将删除的节点设置为本地 var,它会一直保留在内存中,直到页面更改或范围结束?
例如:如果我创建 1000 个节点并删除所有节点,每 0.1 秒。在 10 秒内,我的页面将使用 100.000 个节点的内存空间吗?
function create1000() {
var div, i;
for(i=0; i<1000; i++) {
div = document.createElement("div");
div.innerText = i;
document.body.appendChild(div);
document.body.removeChild(div);
}
}
for(var i=0; i<10000; i+=100)
setTimeout(create1000, i);
谢谢!