Skip to content

Instantly share code, notes, and snippets.

@a-ignatov-parc
Forked from jarek-foksa/gist:1410912
Created December 2, 2011 05:03
Show Gist options
  • Save a-ignatov-parc/1421848 to your computer and use it in GitHub Desktop.
Save a-ignatov-parc/1421848 to your computer and use it in GitHub Desktop.
global.copy = function(refObject) {
var newObject;
var descriptor;
var properties;
if (refObject.cloneNode) {
newObject = refObject.cloneNode();
}
else {
newObject = Object.create(Object.getPrototypeOf(refObject));
properties = Object.getOwnPropertyNames(refObject);
properties.forEach( function(property) {
descriptor = Object.getOwnPropertyDescriptor(refObject, property);
Object.defineProperty(newObject, property, descriptor)
});
}
return newObject;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment