删除类的实例(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 和 JSDOM/jQuery 从代码片段构建 PHP 页面