PDA

Просмотр полной версии : Clone'ирование Object'а


Aib
07.03.2004, 13:38
Всем привет.
Может я чего-то не знаю, но как создать клона произвольного объекта?

Я использую код

_global.clone = function(obj){
var nobj = new Object();
var p;
for (k in obj){
if (typeof(obj[k])){
nobj[k] = clone(obj[k]);
} else {
nobj[k] = obj[k];
}
}
return nobj;
}


А есть ли готовые методы?

Aib
07.03.2004, 14:10
Сорри, народ, ошибочка в коде:


_global.clone = function(obj){
var nobj = new Object();
var p;
for (k in obj){
if (typeof(obj[k])=="object"){
nobj[k] = clone(obj[k]);
} else {
nobj[k] = obj[k];
}
}
return nobj;
}

Nox Noctis
07.03.2004, 14:56
готового способа нет..

для копирования массивов еще можно использовать функции, которые возвращают новый массив, но эти функции копируют только проиндексированную часть и не копируют свойства и методы, добавленные в объект массива... так что этим тоже не воспользоваться.

Aib
07.03.2004, 17:24
Ну как всегда. :(