Я вкурсе только про создание нового объекта и копирование в него всех свойств.
exports.copyObject = function(obj) {
var copy = {};
for (var key in obj) {
copy[key] = obj[key];
}
return copy;
};
exports.deepCopy = function (obj) {
if (typeof obj != "object") {
return obj;
}
var copy = obj.constructor();
for (var key in obj) {
if (typeof obj[key] == "object") {
copy[key] = this.deepCopy(obj[key]);
} else {
copy[key] = obj[key];
}
}
return copy;
};
Это из
https://github.com/ajaxorg/ace/blob/...ce/lib/lang.js
Думаешь есть что-то поинтереснее?