通过'这'作为参数

Pass 'this' as parameter

本文关键字:参数 通过      更新时间:2023-09-26

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

Obj1的一个实例被添加到全局APP对象中的名称空间部分。

APP.namespace.obj = new Obj1(); 

在Obj1构造函数中,我实例化了另一个对象,如下所示:

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

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

This.someobj = options.someobj;  

它允许我在Obj1上调用原型方法。这些对象中有任何一个曾经被垃圾收集过吗?当我不再需要这些东西时,我该如何销毁它们?

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

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

也许可以在视图和控制器之间使用pub/sub模式(观察者模式)。通过这种方式,应拆除紧耦合。