bei Abänderung folgenden Codes
Date.prototype.tag=function() {};
in
Date.prototype={
tag:function() {}
};
Das ist ja auch nicht das gleiche, sondern etwas ganz anderes. Das wollte ich auch ausdrücken.
Bei dem einen hängst du nur einen Member an ein bestehendes Objekt, beim zweiten überschreibst du das komplette Objekt mit einem neuen.
Beides geht - für die prototype-Eigenschaften EIGENER Funktionen.
Date.prototype ist hingegen ein eingebauter Prototyp. Du kannst ihn [nicht überschreiben](http://es5.github.com/#x15.9.4.1) ([[Writable]]: false), denn damit würdest du sämtliche bestehenden Methoden löschen. Auf diese Weise würde man alles nur kaputt machen. ECMAScript würde intern nicht mehr funktionieren, wenn du den Kern-Prototypen ihre Methoden wegnimmst.
Du kannst Date.prototype allerdings um neue Member erweitern.
Mathias