Я заметил такое поведение при написании моего JavaScript, и я не смог понять, почему:
Ниже приведен код для воспроизведения рассматриваемого поведения.
var o1 = {
num: 1
}
var o2 = o1;
o2.num = 2;
alert(o1.num);
Ожидаемый результат: Браузер предупреждает 1, потому что я изменил только свойство объекта o2 , а не объекта o1 .
Фактический результат: Браузер предупреждает 2, потому что кажется, что o1 равно o2 .
Я не совсем уверен, что происходит. Как я могу исправить код, чтобы он предупреждал 1, а не 2 (при условии, что o1 не изменился)?
Большое спасибо заранее.