Wer macht denn sowas ;-)
Das ist ja kein "normaler" Konstruktor mehr, sondern einer, der das zu erzeugende Objekt zuerst aus Parametern zusammenbasteln muss. Für solche speziellen Fälle kann man ja weiterhin mit Konstuktoren und "new" arbeiten.
Ich halte das nicht für speziell, im gegenteil ich verwende sowas sehr häufig und muss genau aus dem Grund für jedes Objekt das ich verwende eine eigene object() Funktion schreiben mit den nötigen Parametern.
Oder man bastelt sich (wie ich) eine weitere kleine Helferfunkrion:
Was in etwa der ersten von Douglas Crockford vorgeschlagenen Möglichkeit entspricht.
var newObj = oobject(obj, {name: 'Rumpelstilz'});
var newObj2 = oobject(obj, {name: 'Königin'});
Naja, mir wäre das zu umständlich, da ich es wie gesagt häufig brauche.
Struppi.