删除类的实例(nodejs)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除类的实例(nodejs)?相关的知识,希望对你有一定的参考价值。

我已经创建了该类,并对其进行了初始化,还向该类中添加了timer函数,然后我将class instance显式调用为null,但仍在运行timer函数,我的问题是如何从中删除该class实例记忆? ,以及在类为空后如何使计时器无效

我的代码如下

class Person {
    constructor() {
      this.id = 'id_1';
    }
    timers(){
    const intervalObj = setInterval(() => {
        console.log('interviewing the interval');
      }, 3000);
    }
  }

  var justAGuy = new Person();
  justAGuy.timers()
  justAGuy = null
答案
javascript是一种垃圾收集语言。您不能也不能明确删除对象。相反,您清除对对象的所有引用,以使任何代码都无法到达该对象。这将使其有资格进行垃圾回收,然后垃圾回收器将在以后的GC传递中将其从内存中删除。

在您的对象中,您还必须停止间隔计时器,因为只要间隔计时器正在运行,您的对象就可以保持活动状态,因为计时器回调可以访问引用该对象的this

class Person { constructor() { this.id = 'id_1'; } timers(){ this.intervalObj = setInterval(() => { console.log('interviewing the interval'); }, 3000); } stop() { clearInterval(this.intervalObj); } } var justAGuy = new Person(); justAGuy.timers(); justAGuy.stop(); justAGuy = null;

以上是关于删除类的实例(nodejs)?的主要内容,如果未能解决你的问题,请参考以下文章

nodejs常用代码片段

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

java 代码片段

javascript 用于在节点#nodejs #javascript内设置react app的代码片段

访问另一个类的 main 中定义的类的实例

有条件地导入 python 类的片段