我在一个仅临时需要的函数中动态添加一个“div”节点。我已经使用 < parent >.removeChild 将其分离,然后将其设置为 null,但我很想知道在函数中创建的未附加节点超出范围时会发生什么情况?
如果节点保留在内存中但未连接:
- A)设置为 null 甚至是必要的还是在返回时会自动消失?
- 如果是这样,设置为 null 是否正确?
- B) 是否需要对其属性进行任何处理?(如node.style.position)
- C)如果它包含额外的子节点,它们是否需要单独处理,或者当它们的未附加父节点设置为空时它们会消失?
- D) 可以使用哪些工具来查看这些类型的未附加资源?
这是一个用于讨论目的的示例函数:
function dpi(){
var res={},
div=document.createElement("div"),
body=document.getElementsByTagName('body')[0];
div.style.position="absolute";
div.style.width="1in";
div.style.height="1in";
div.style.left="-100%";
div.style.top="-100%";
body.appendChild(div);
res["xdpi"]=div.offsetWidth;
res["ydpi"]=div.offsetHeight;
body.removeChild(div);
div=null;
return res;
}