我有对象a
。对象a
有几个引用它的引用,但我不知道它们是什么。我打算销毁对象a
,但首先我要将其所有引用指向一个新对象b
。
如果我可以确定对象a
的所有引用,则可以采用一种方式(如果可能),我可以明确地将它们重新分配给b
。但是,我还没有找到确定对象引用的方法。
或者还有其他一些解决方案来实现这个目标吗?
编辑:
以下是该方案:
在Firefox中,我在DOM(tabbrowser选项卡)中有一个元素,它将从DOM中移除而另一个元素放在其位置,这将保存将选项卡恢复到原始选项卡状态所需的数据选项卡已恢复(这是"卸载"标签的常用方法)。但是,其他对象具有对选项卡的引用,并且只是从DOM中删除选项卡会破坏这些引用,有时也会破坏其他位置的代码功能。我想将旧选项卡的所有引用都指向新选项卡。
编辑2:
Firefox具有原生方法addTab
和removeTab
。我正在使用这两种方法,removeTab
删除一个标签,这将从DOM中删除它(除了其他事项,而不试图提供有关Firefox&tabburowser-tab模型的深入教程),然后我将使用addTab
方法在其位置放置一个新选项卡,这将创建一个新的选项卡元素并将其添加到DOM。这是一个全新的对象,因此我希望指向旧选项卡的引用现在指向新选项卡。
我不知道在这种情况下简单地指定a = b是否有效,因为tabbrowser-tabs非常复杂。
答案 0 :(得分:1)
除非您进行某种手动跟踪,否则无法确定对象所持有的引用。
例如,DOM
在插入元素时设置各种指针的各种指针......
如
<element>.parentNode
<element>.firstChild
<element>.nextSiblingNode
和其他许多人。
从DOM中删除对象时,这些引用都是手动更新的,但在幕后。