我想知道当不再使用此对象时如何从内部删除对象。
例如:
var MyObject = function () {
return {
'some': function() {...},
'actions': function() {...},
'destroy': function() {
this = null; // throws a "ReferenceError: Invalid left-hand side in assignment"
},
}
}
// Doing so, I would be able to :
var obj = new MyObject();
obj.some();
// And when I have finished :
obj.destroy();
背后的原因是我无法从外部销毁它(对象是在"点击"在DOM元素上创建的,但是当你点击其他地方时它会被销毁,所以在我要删除它的地方,创建的范围(在" onClick"方法中)不可用。
我该怎么做?
答案 0 :(得分:1)
JavaScript根本不起作用。事实上,你无法破坏任何物体。您可以做的唯一事情是确保您没有对对象的任何引用,这将使其符合JS运行时的垃圾收集条件。如果您发布更完整的代码段,我们可以告诉您是否有内存泄漏,但是如果您为每个.off
做了相应的.on
,并将任何引用变量设置为null
,这是您在JavaScript中可以做和应该做的全部内容。