我们假设我按以下方式执行一项功能:
function el(html) {
return (function(parent){
parent.innerHTML = html;
return parent.childNodes[0];
})(document.createElement('div'));
};
document.body.appendChild(el('<p>foo</p>'));
document.body.appendChild(el('<p>bar</p>'));
创建的元素会发生什么(标记div作为参数转到IIFE)? 如果我执行该函数n次,我将留下n个孤儿DOM节点吗?
答案 0 :(得分:2)
如果无法从GC根目录访问这些对象,则它们可以进行垃圾回收。这也适用于DOM节点。
旁注:DocumentFragment或insertAdjacentHTML将是更加惯用的方法来构建和追加字符串中的html