Копия обьекта в JavaScript
От: rgl  
Дата: 04.01.03 07:57
Оценка:
Такой вот вопрос — можно ли и как создать копию обьекта

var o1 = new Object;

o1.a = 1;
o1.b = 2;

var o2 = o1;

o2.a=9;


После этого o1.a тоже становится 9, т.е. o1 и o2 — разные имена одного и того же обьекта. А как создать именно копию, чтобы всякие изменения ее не влияли на оригинал? Есть вот такой способ:

var o2 = new Object;
var i;
for( i in o1 )
  o2[i] = o1[i];


но так не всегда все свойства копируются. Есть ли более правильный способ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.