In realtà new è un po' sopravvalutato in JavaScript. Tutto quello che fa è creare un prototipo, che contiene una referenza all'oggetto padre. Si può ottenere lo stesso in questo modo:

Object.new = function (obj) {
function f() {}
f.prototype = obj;
return new f();
};
myDocument = Object.new(myDocument);

Ma nel caso in cui "estendi" object, o un tipo primitivo, questa operazione alloca memoria inutilmente... meglio mettere le proprietà di Object direttamente nel costruttore, perchè ai fini pratici è la stessa cosa