想象一下,我做了这样的事情:
将Obj1的实例添加到全局APP对象中的命名空间部分。
APP.namespace.obj = new Obj1();
从Obj1构造函数中,我实例化另一个这样的对象:
var var1 = new Obj2({someobj: this});
这是作为参数传递的(指向obj1)。 在Obj2中,我将传递的对象设置为属性:
This.someobj = options.someobj;
它允许我在Obj1上调用原型方法。 是否有任何这些对象被垃圾收集? 当我不再需要这些物品时,我怎么能摧毁这些物体呢?
我这样做的范围是制作可以对视图(obj2)进行操作的控制器(obj1)。
但我想委托管理其他视图的方法以及从控制器(obj1)调用后端的方法。
答案 0 :(得分:0)
据我所知,只要APP.namespace.obj
存在,它们就不能被垃圾收集。
也许在视图和控制器之间使用pub / sub模式(观察者模式)。这样就可以消除紧耦合。