对于名为Dest的javascript中的Object类型的给定变量,我想将其引用的内容更改为名为Value的对象的值。假设有一个神奇的语句SetDestAs(Dest,Value)执行此操作
E.g。
var dest = { a : 3, b : 3};
var ptr = dest;
// ptr.a === 3;
SetDestAs(dest, {a : 0, b : 3 });
// dest.a === 0
// ptr.a === 0;
我如何实现SetDestAs?
我不想具体做的是让SetDestAs更改dest所引用的对象。在上面的例子中,变化也会变成ptr非常重要。
答案 0 :(得分:1)
说出你想做什么有点困难,所以有两个答案:
1。您可以更改对象dest
的属性,参考:
Object.assign(dest, {a: 0, b: 3});
......这就是我想你想做的事情。例如:
var dest = { a : 3, b : 3};
var ptr = dest;
console.log(ptr.a); // 3
Object.assign(dest, {a: 0, b: 3});
console.log(dest.a); // 0
console.log(ptr.a); // 0

2。如果您想更改哪个对象 dest
和ptr
引用,只有dest
作为起点,您就无法做到。从dest
开始,您无法做任何事情,这会改变ptr
引用的对象。