javascript将对象复制到引用的内存中

javascript将对象复制到引用的内存中,javascript,object,reference,Javascript,Object,Reference,对于javascript中名为Dest的Object类型的给定变量,我想将它引用的内容更改为名为value的对象的值。假设有一个神奇的语句SetDestAsDest,值实现了这一点 例如 如何实现SetDestAs 我不想特别为SetDestAs更改dest引用的对象。在上面的示例中,将PESIST更改为ptr也是非常重要的。要知道您想要做什么有点困难,因此有两个答案: 一,。您可以更改dest引用的对象的属性: Object.assign(dest, {a: 0, b: 3}); …这就是我

对于javascript中名为Dest的Object类型的给定变量,我想将它引用的内容更改为名为value的对象的值。假设有一个神奇的语句SetDestAsDest,值实现了这一点

例如

如何实现SetDestAs


我不想特别为SetDestAs更改dest引用的对象。在上面的示例中,将PESIST更改为ptr也是非常重要的。

要知道您想要做什么有点困难,因此有两个答案:

一,。您可以更改dest引用的对象的属性:

Object.assign(dest, {a: 0, b: 3});
…这就是我认为你想做的。例如:

var dest={a:3,b:3}; var-ptr=dest; console.logptr.a;//3. Object.assigndest,{a:0,b:3}; console.logdest.a;//0
console.logptr.a;//0Object.assigndest,{a:0,b:3}根据您的应用程序,最好使用另一个间接级别,例如data={dest:{a:3,b:3};并让ptr对数据进行操作。这样您就可以重新分配data.dest={what:ever,i:want};仍然使用ptr.dest.Indirection是一个不错的主意,但是它太慢了。选项2,不一样。这是故意的吗?@Keith-对。否则,就不需要提供两个选项。但我刚刚意识到ptr位使得选项2毫无意义-是的,我就是这么想的:很好,这正是我想要的。选择2显然是疯狂的
Object.assign(dest, {a: 0, b: 3});