2013-04-18 79 views
1

我有一个对象:Javascript - 如何删除一个对象?

var myObj = new myAwsumObj();

现在,目前我正在删除它那样:

myObj = undefined;

但是,这显然是不执行任何操作,因为对象仍然存在(我可以看到,这个对象在'external'javascript文件中被定义的东西引发异常)。

如何清除所有这些东西?可能吗?因为好像myObj在这个外部JavaScript文件中做得非常多,甚至可能创建新对象,是否可以在不重构此外部文件的情况下清除所有这些混乱?

+0

你不会在JavaScript中获取指针。使用对象时,您会得到一个引用,但如果还有其他变量也引用同一对象,则不能使用该引用来销毁该对象。 – 2013-04-18 01:27:32

+0

您是否编写了_myAwsumObj()_函数的代码? – nnnnnn

+0

@nnnnnn:如果我愿意,那么我不会问这个问题。 :) – ojek

回答

1

不幸的是,这是不可能的。从你的描述来看,对象本身似乎是通过添加事件处理程序,设置超时/间隔,ajax回调等来创建对自身的引用。即使您清除自己创建的对象的所有引用,仍然必须清除它自己创建的引用。只有这样它才会变为不活动,未被引用,并有资格进行垃圾收集。

但看看它的源代码,也许对象提供了一个“毁灭”的方法来照顾所有的混乱。