Javascript 是否仍然有空HtmleElement引用的原因?

Javascript 是否仍然有空HtmleElement引用的原因?,javascript,dom,Javascript,Dom,在最长的一段时间里,我们确实使用了类似于: class MyElementWrapper { el: HTMLElement; constructor(html: string) { this.el = document.createElement('div'); this.el.innerHTML = html; } destroy() { this.el.parentElement.removeChild(this.el) this.el

在最长的一段时间里,我们确实使用了类似于:

class MyElementWrapper {
  el: HTMLElement;

  constructor(html: string) {
    this.el = document.createElement('div');
    this.el.innerHTML = html;
  }

  destroy() {
    this.el.parentElement.removeChild(this.el)
    this.el = null;
  }
}

如果我们不使用类实例,
el=null
部分仍然是必需的吗?

即使您不打算使用实例,在其他变量中也可能会有对它的引用,因此它们会防止它变成垃圾,从而防止DOM元素变成垃圾。如果您已将实例记录到控制台,它将保留对该实例的实时引用。

如果您要处理该类实例,则不需要这样做。但是如果您保留对它的引用,那么您也会将元素保留在作用域中,因此它会占用内存。。。如果我记得GB是“标记和扫描”,因此能够清除所有这些。当使用具有自动内存管理的语言编程时,很容易迷失方向。