【发布时间】:2014-07-29 10:53:12
【问题描述】:
我目前正在创建一个项目,其中每个可见元素都由 javascript 对象表示。
我需要这个对象中的一个方法,它可以让我销毁它。
有一个该对象的示例:
var example = function(some_args){
var self = this;
var references = {}; //this holds references to inputs within given view
this.createView = function(){
//here I`m doing "stuff" like filling innerHTML of container
//creating event delegate, etc.
}
this.destroy = function(){
self.elements["box"].parentNode.removeChild(self.elements["box"]); //box is a reference to container element
self.elements = null;
delete self;
}
现在,我的问题是:我是否正在尽我所能来彻底摧毁这个物体? 我没有持有任何其他对对象或元素的引用。
编辑: 我看到你们中的一些人不理解我的问题。 Barmar 做对了,对此我很感激 :)。
我知道 GC,写“我正在销毁对象”比“我正在删除对对象的最后一个引用,所以 GC 可以处理它”更容易:)
具体来说。考虑到我正在删除对对象的最后引用,这是该对象的一部分的内部函数 - 还有什么我应该注意的吗?还是我的代码完全没问题,对象会被视为垃圾?
【问题讨论】:
标签: javascript object self-reference