【发布时间】:2023-03-31 06:44:01
【问题描述】:
我有两个变量引用同一个对象,因此 objectA === objectB 为真。我希望能够将 {} 分配给 objectB 并让 objectA 保持 {} 但是每当我这样做时,我实际上只是将 objectB 的引用更改为 {} 所在的位置(我认为)所以现在 objectA 和 objectB 引用不同的东西.我有办法做到这一点,objectA = objectB = {},但我不喜欢这样,因为它在我的实现中需要循环引用。这是可能的还是有更好的方法?
【问题讨论】:
-
为什么要 A 和 B 引用同一个空类?我看不出这样做的任何理由。
-
因为我有一个具有多个状态的程序,每个状态由不同的类表示。状态有一个状态管理器,它保存与所有状态有关的信息。 objectA 在状态管理器类中,并被传递给状态类并存储在 objectB 中(此时它是未定义的)。我想定义 objectB 并定义 objectA。
-
没有办法让这种情况自动发生。只要两个变量都引用同一个对象,它们就可以分别添加/更改/删除该对象的属性并且每个都可以看到更改(因为它是同一个对象),但是您不能将一个分配给新对象并拥有另一个“跟随”。
-
好的,谢谢,这就是我需要的答案。
标签: javascript variables variable-assignment