Javascript 如果用DOM中的另一个元素替换某个元素,是否必须清理该元素?

Javascript 如果用DOM中的另一个元素替换某个元素,是否必须清理该元素?,javascript,html,Javascript,Html,在本例中,div会发生什么变化?我必须删除它还是清理它 var div = document.getElementById('myDiv'); var span = document.createElement('span'); span.textContent = 'hello world'; div.replaceWith(span); 或者它是垃圾收集的还是什么?假设一旦完成,就释放对它的引用,它是垃圾收集的;DOM中没有明确的“delete”或类似内容 因此,在代码结束时,如果div变

在本例中,div会发生什么变化?我必须删除它还是清理它

var div = document.getElementById('myDiv');
var span = document.createElement('span');
span.textContent = 'hello world';
div.replaceWith(span);

或者它是垃圾收集的还是什么?

假设一旦完成,就释放对它的引用,它是垃圾收集的;DOM中没有明确的“delete”或类似内容

因此,在代码结束时,如果
div
变量没有超出范围或被闭包保留,则需要执行以下操作

div = undefined;
…以确保不保留对div的引用。但是,如果它超出范围并且没有被闭包保留,则没有必要这样做



旁注:DOM是非常新的,对它的支持可能不稳定。

假设在完成后释放对它的引用,它将被垃圾收集;DOM中没有明确的“delete”或类似内容

因此,在代码结束时,如果
div
变量没有超出范围或被闭包保留,则需要执行以下操作

div = undefined;
…以确保不保留对div的引用。但是,如果它超出范围并且没有被闭包保留,则没有必要这样做



旁注:DOM非常新,对它的支持可能有点参差不齐。

你所说的清理是什么意思?或者通过这个问题
,或者它是垃圾收集还是什么?
?你到底想做什么?就像js中的任何其他对象一样,这完全取决于你是否在某处保留对它的引用?DOM本身将丢失其跟踪,因此它在那里已经是干净的,但是您必须检查它在您这边是否也是干净的。没有读入
replacetwith
,但是跨度可能会在以后存在两次。您所说的
清理是什么意思?或者通过这个问题
,或者它是垃圾收集还是什么?
?你到底想做什么?就像js中的任何其他对象一样,这完全取决于你是否在某处保留对它的引用?DOM本身将丢失其跟踪,因此它在那里已经是干净的,但是您必须检查它在您这边是否也是干净的。没有读入
replacewith
,但是跨度可能在后面存在两次谢谢!我知道变量会超出范围,但不确定所有这些元素是否都会挂在某个池中或其他什么地方。谢谢!我知道变量会超出范围,但不确定是否所有这些元素都会挂在某个池中。