DOM对象是否在javascript中收集垃圾?

1 javascript dom garbage-collection

var domElementReference = $(document.createElement('div'));
Run Code Online (Sandbox Code Playgroud)

如果我实际上没有将它插入页面(一旦domElementReference超出范围),DOM元素是否会被销毁?

如果没有:如果我有一个创建DOM元素的构造函数,是否有自动方式在javascript中清除它们?

我想要的是将它们附加到元素上,然后使用

myChildNode.parentNode.removeChild(myChildNode);
Run Code Online (Sandbox Code Playgroud)

但是,当对象超出范围时,我必须手动调用该函数,这有点混淆整个"垃圾收集"的想法.任何自动销毁对象的模式?

MrC*_*ode 6

如果元素没有插入到DOM中并且没有其他引用存在,那么是的,它们将被垃圾收集,就像任何其他变量一样.

现代浏览器使用标记和扫描算法进行垃圾收集,这意味着垃圾收集器将查找并垃圾收集无法访问的对象.如果在函数中创建元素,但不在其他地方分配引用或不将它们插入到DOM中,则在函数完成后它们将有资格进行垃圾回收.

没有必要手动尝试释放JavaScript中的内存,它都是隐式处理的.