
Код:
Object.prototype.duplicateObject = function() {
var dupObj = new Object();
for(var i in this) {
if (typeof(this[i]) == "object") {
dupObj[i] = this[i].duplicateObject();
} else {
dupObj[i] = this[i];
}
}
return dupObj;
}
ASSetPropFlags(Object.prototype, ["duplicateObject"], 1); // needed ATM. because Object.prototype functions shows in for..in loops

Код:
oldObject = new Object();
oldObject.foo = new Object();
oldObject.foo.dat = "Some data";
oldObject.bar = "Some other data";
newObject = oldObject.duplicateObject();