将'this'作为参数传递

时间:2014-04-12 09:38:34

标签: javascript object garbage-collection this

想象一下,我做了这样的事情:

将Obj1的实例添加到全局APP对象中的命名空间部分。

APP.namespace.obj = new Obj1(); 

从Obj1构造函数中,我实例化另一个这样的对象:

var var1 = new Obj2({someobj: this}); 

这是作为参数传递的(指向obj1)。 在Obj2中,我将传递的对象设置为属性:

This.someobj = options.someobj;  

它允许我在Obj1上调用原型方法。 是否有任何这些对象被垃圾收集? 当我不再需要这些物品时,我怎么能摧毁这些物体呢?

我这样做的范围是制作可以对视图(obj2)进行操作的控制器(obj1)。
但我想委托管理其他视图的方法以及从控制器(obj1)调用后端的方法。

1 个答案:

答案 0 :(得分:0)

据我所知,只要APP.namespace.obj存在,它们就不能被垃圾收集。

也许在视图和控制器之间使用pub / sub模式(观察者模式)。这样就可以消除紧耦合。