所以我有一个名为game
的javascript对象,它有两种方法:
function game() {
this.TxtRevealed = new Array();
this.TxtRevealedBackup = new Array();
[...]
}
现在,在一个对象之外,我分配了一个和另一个:
game.TxtRevealedBackup = game.TxtRevealed;
过了一段时间,我更改了game.TxtRevealed
(我使用slice
函数从中剪切一些值)。现在发生了一些我不打算发生的事情:game.TxtRevealedBackup
也会自动更改为game.TxtRevealed
的新值。
我希望game.TxtRevealedBackup
和game.TxtRevealed
在分配时一样。它的工作方式就好像game.TxtRevealedBackup
指向由game.TxtRevealed
连续表示的值,而不是它在赋值时刻的值。
为什么会发生这种情况,以及如何让它发挥我所期望的作用?
Kalreg。
对象通过引用工作。如果您想克隆对象,请查看此答案。