为变量分配新值会从内存中清除旧值?

时间:2019-05-28 15:16:20

标签: javascript

我有一个课程,其中包含对另一个课程的引用

class Monkey {
  constructor(){
    this.banana = null 
  }

  getNewBanana() {
    this.banana = new Banana()
  }

  ...otherMethods

}

如果我多次调用getNewBananaBanana的实例将从内存中删除吗?还是我需要删除它?

我将创建一个类,可以做很多this.something = new AnyThing(),并且我想确保没有内存泄漏或类似的事情。

1 个答案:

答案 0 :(得分:2)

根据https://javascript.info/garbage-collection,自动垃圾收集器会从内存中删除无法访问的对象,因此不会发生内存泄漏,但是,垃圾收集器仅在CPU空闲时尝试运行,以减少发生这种情况的可能性。对执行的影响。如果“香蕉”对象非常大,并且应用程序在创建许多对象的同时进行了大量处理,则会影响应用程序的性能。