Много советов о том, как сделать копию не только объекта и его свойств, но и всех объектов, на которые ссылаются его свойства.Вот версия, которая клонирует объект, не копируя его, и поэтому клон наследует все свойства, добавленные позже, за исключением тех, которые затемняются собственными свойствами клона:
var cloneOf = (function() {
function F(){}
return function(o) {
F.prototype = o;
return new F();
}
}());
Некоторые могут распознать шаблон.Пример:
var base = {foo:'foo', bar:'bar'};
var baseClone = cloneOf(base);
alert(baseClone.foo); // foo