Chr*_*ris 5 javascript variables reference pass-by-reference
我有一个要替换的对象。
var obj1 = { x: "a" };
var ref = obj1;
var obj2 = { y: "b" };
obj1 = obj2;
Run Code Online (Sandbox Code Playgroud)
这导致了ref等价于{ x: "a" },但我想让它变得更改,以点obj2获得ref等同于{ y: "b" }。
不可能。JS 通过引用的副本传递对象,因此在这一步中,var ref = obj1您实际上并没有像在 C 等语言中那样分配引用指针。相反,您正在创建一个引用的副本,该副本指向一个看起来像这样的对象{x: 'a'}。
有关您拥有的其他选项,请参阅此答案:/sf/answers/1216771041/。