gpt4 book ai didi

javascript - 如何将对一个对象的所有引用指向另一个对象?

转载 作者:行者123 更新时间:2023-11-27 23:18:44 24 4
gpt4 key购买 nike

我有对象a。对象a有几个指向它的引用,但我不知道这些是什么。我计划销毁对象 a,但首先我想将其所有引用指向一个新对象 b

一种方法(如果可能)是,如果我可以确定对对象 a 的所有引用,我可以显式地将它们重新分配给 b。但是,我还没有找到确定对象引用的方法。

或者是否有其他解决方案可以完成此任务?

编辑:

这是场景:

在 Firefox 中,我在 DOM(tabbrowser 选项卡)中有一个元素,该元素将从 DOM 中删除,并在其位置放置另一个元素,该元素将保存将选项卡恢复到原始选项卡状态所需的数据。选项卡被恢复(这是“卸载”选项卡的常用方法)。但是,其他对象具有对选项卡的引用,并且简单地从 DOM 中删除选项卡会破坏这些引用,有时还会破坏其他位置的代码功能。我想将旧选项卡的所有引用都指向新选项卡。

编辑2:

Firefox 有 native 方法 addTabremoveTab。我正在使用两种方法,removeTab 来删除一个选项卡,这会将其从 DOM 中删除(除此之外,我不会尝试提供有关 Firefox 的 tabbrowser-tab 模型的深入教程),然后我将使用 addTab 方法在其位置放置一个新选项卡,这将创建一个新选项卡元素并将其添加到 DOM 中。这是一个全新的对象,因此我希望指向旧选项卡的引用现在指向新选项卡。

我不知道在这种情况下简单地分配 a=b 是否有效,因为 tabbrowser-tabs 非常复杂。

最佳答案

除非您进行某种手动跟踪,否则无法确定对对象持有哪些引用。

DOM例如,当您插入元素时,设置各种指向各种对象的指针...

比如

  • <element>.parentNode
  • <element>.firstChild
  • <element>.nextSiblingNode

还有很多其他的。

当您从 DOM 中删除对象时,这些引用都会在幕后手动更新。

关于javascript - 如何将对一个对象的所有引用指向另一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com