销毁构造函数实例

Cat*_*rta 1 javascript oop constructor instances

function ConstructMe(msg) {
    this.message = msg;   
}

instances = {
    instance1: new ConstructMe('msg1'),   
    instance2: new ConstructMe('msg2'),   
    instance3: new ConstructMe('msg3'),   
    instance4: new ConstructMe('msg4'),   
    instance5: new ConstructMe('msg5')
}
Run Code Online (Sandbox Code Playgroud)

如果我有这个构造函数,并且我在一个对象中构建了它的实例(如上所示),我以后将如何销毁它们?我想确保它们不再可用,也确保它们不再是无用的地方。

删除对象会起作用吗?或者这些实例只会无名地留在记忆中的某个地方?

就我而言,我在应用程序中沿着某些操作创建了许多实例,我想确保我保持内存干净,不要让东西挂在周围,杂乱无章......

期待您的反馈意见

ros*_*dia 5

Javascript 不能那样工作。它是一种垃圾收集语言。从技术上讲,您可以执行以下操作:

delete instances.instance3;
Run Code Online (Sandbox Code Playgroud)

这应该从instances对象中删除属性,但实际上你很少需要担心它。JavaScript 运行时将在您之后负责清理*

*从技术上讲,您仍然可以在 javascript 中创建内存泄漏,但在绝大多数情况下,您无需担心。