gpt4 book ai didi

Javascript:从内存中删除 element.cloneNode()

转载 作者:行者123 更新时间:2023-12-03 05:25:27 25 4
gpt4 key购买 nike

我的情况是,我必须克隆一个元素,读取它的属性和其他解析功能,但现在因为我不这样做 element.parentNode.appendChild(clonedElement)如何从内存中删除这个克隆?

var clonedElement = element.cloneNode();

// do some stuff with it

clonedElement = null; // is this good enough?

是的,是 clonedElement = null;足以将其从内存中清除吗?

最佳答案

如果要删除变量对 DOM 节点的引用,请使用

element = null;

由于 Javascript 是垃圾收集的,因此您不需要删除对象本身当无法再引用它们时,它们将被删除。

但是

如果被移除的 DOM 元素是无引用的(没有引用文献指向它)那么是的元素本身被垃圾收集器以及任何事件拾取与之关联的处理程序/监听器。

如果存在仍然指向该元素的引用,该元素及其事件监听器保留在内存中。

var removeChilds = function (node) 
{
var last;
while (last = node.lastChild) node.removeChild(last);
};

removeChilds( element ) ;
element=null;

关于Javascript:从内存中删除 element.cloneNode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41162766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com