aber der Ablauf is ja folgender
mit var a1 = new Obj(); wird ein neues Objekt instanziiert und der prototype von Obj wird mit einer leeren Funktion überschrieben.
bei var a2 = new Obj(); passiert nochmal das gleiche.
nein, das ist nicht der Ablauf.
1. wird das Obj erzeugt inkl. seiner Prototypen.
2. Beim aufruf von new() wird dann Speicherplatz dafür reserviert. die Prototype Funktionen sind aber schon längst übersetzt.
Da der prototype aber für a1 und a2 gleich ist gibt das logischerweise auch true aus. Das ändert aber nichts daran, dass 'func' 2x definiert wird. Nur geht halt der Zeiger bei beiden Instanzen auf das gleiche Objekt (Funktion).
Nein, func ist nur einmal vorhanden dass beweist auch der Vergleich.
Evtl reden wir auch aneinander vorbei - ich sagte man braucht, wenn man das ganze prototyping im Kontruktor machen will, eine Variable, die sicherstellt, dass das ganze nur einmal stattfindet und ned bei jeder Instanziierung von Neuem.
Und das stimmt nicht.
Struppi.
Javascript ist toll (Perl auch!)