Hat das bestimmte Nachteile, oder Vorteile?
Speicherplatz und Laufzeit könnte man jetzt nennen, meiner Meinung nach kann man diese Vorteile der Zuweisung über prototype-Eigenschaften aber Vernachlässigen. Zudem sparst du die Laufzeit zwar beim Anlegen ein, hast aber bei jedem Zugriff auf eine solche Eigenschaft eine leichte Laufzeiteinbusse, weil der prototyp mit durchsucht werden muss.
Beachten sollte man allerdings den Zugriff auf Referenzen beim Zugriff auf gemeinsamm genutzte Eigenschaften wird diese zwar bei Änderung an die jeweilige Instanz kopiert, allerdings ist es nur eine Referenz.
Als einen Vorteil könnte man sehen, dass bei Zuweisungen über den Prototyp auch bereits bestehende Objekte diese Eigenschaften bekommen.
function aaa()
{
this.xxx = [0];
}
aaa.prototype.yyy = [0];
aaa.prototype.test = function()
{
alert(this.xxx + " - " + this.yyy);
};
var a = new aaa();
var b = new aaa();
a.test();
b.test();
++a.xxx[0];
a.test();
b.test();
++a.yyy[0];
a.test();
b.test();