var paragraphElement = document.createElement('p');
paragraphElement
不在 DOM 中。我怎样才能删除它?我知道removeChild
如果它在 DOM 中我可以使用。我不倾向于添加paragraphElement
到 DOM 然后将其删除。有什么解决办法吗?
谢谢你。
var paragraphElement = document.createElement('p');
paragraphElement
不在 DOM 中。我怎样才能删除它?我知道removeChild
如果它在 DOM 中我可以使用。我不倾向于添加paragraphElement
到 DOM 然后将其删除。有什么解决办法吗?
谢谢你。
如果一个对象不再被引用,它将被标记为垃圾回收。因此,当您离开p
有效的上下文并且没有以任何其他方式引用该元素时,垃圾收集将在下次运行时释放内存。垃圾回收如何实现这一点取决于 JavaScript 引擎。
您还可以分配p
一个新的非参考值,例如0
,或使用p = null
。请注意,.removeChild
不会从内存中删除子节点,只会从 DOM 中删除子节点,但如果此节点上没有其他引用,则会将其释放以进行垃圾收集。
有关更多信息,请查看MDN:内存管理。
如果它不在 DOM 中,那么您所要做的就是清除对它的任何 JS 引用,垃圾收集器将为您删除它。这本质上与 javascript 对象或 javascript 数组没有什么不同。如果您清除对它的任何引用,垃圾收集器将清除它。
所以,如果你像这样创建它:
var paragraphElement = document.createElement('p');
然后,您所要做的就是摆脱它的明确引用:
var paragraphElement = null;
如果没有对元素的 javascript 引用,垃圾收集器将删除它。