【发布时间】:2020-03-06 03:43:09
【问题描述】:
例如:
function a() {
this.heartbeat = setInterval(()=>{}, 10000)
}
var b = new a()
delete b //The heartbeat still seems to be working
我想在我的对象被删除时移除心跳。
【问题讨论】:
-
使用
clearInterval- 哦,对,你想检测delete- 我认为你需要像clearInterval(b.heartbeat); delete b;一样处理它 - 在javascript中没有相当于c++的“析构函数”我知道-另外,根据您的示例调用delete b不会删除任何内容... delete 删除对象的属性,b 不是对象的属性-console.log(delete b)输出false所以它“失败了" -
了解删除... JavaScript 删除操作符从对象中删除一个属性; 如果不再保留对同一属性的引用,它最终会自动释放。 - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… ...事实上,如果您处于严格模式,您发布的代码将抛出错误
标签: javascript node.js object ecmascript-6