Показать сообщение отдельно
  #9 (permalink)  
Старый 02.12.2008, 20:55
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от HelpeR Посмотреть сообщение
А как переписать эту функцию, что бы был полностью не зависимый клон.
Никак

Универсального способа нет. Например, чтобы скопировать все атрибуты и методы объекта, можно написать такую функцию:
Object.prototype.clone = function() {
   var key, obj = {};
   for(key in this) if(this.hasOwnProperty(key)) obj[key] = this[key];
   return obj;
};

Прототип встроенной функции-конструктора Object конечно лучше не трогать, если там еще нет пользовательских методов:
function cloneObject(obj) {
   var key, clone = {};
   for(key in obj) if(obj.hasOwnProperty(key)) clone[key] = obj[key];
   return clone;
}
Ответить с цитированием