作为IIFE的一部分创建的DOM元素会发生什么

时间:2016-08-31 20:00:51

标签: javascript html dom

我们假设我按以下方式执行一项功能:

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节点吗?

1 个答案:

答案 0 :(得分:2)

如果无法从GC根目录访问这些对象,则它们可以进行垃圾回收。这也适用于DOM节点。

旁注:DocumentFragmentinsertAdjacentHTML将是更加惯用的方法来构建和追加字符串中的html