K2.prototype.method4 = function () { alert('method4'); };
inheritPseudoClass(K1, K2);[/code]Allerdings weiß man hier genau, was getan wird.
Du hast hiermit ein schönes Beispiel geliefert warum das eben nicht ist. Durch die Reihenfolge in den Aufrufen überschriebst du die Funktion method4() und mancher weiß ertsmal üpberhaupt nicht, warum das so ist
Bei dem Beispiel war ich schlicht unaufmerksam, da es mir nur um die groben Konzepte ging. Dass diese simple Helferfunktion nicht universell ist, sollte klar sein. Prinzipiell ließe sie sich auch so schreiben, dass sie diesen Anwendungsfall abdecken könnte (bestehende Member des Prototyps an den neuen kopieren).
Wer sie einsetzt, sollte verstehen, was sie macht. Andernfalls sollte man eine ausgereifte Lösung wie in Mootools oder PrototypeJS einsetzen. Da sieht man nichts von Konstruktoren und Prototypen, sondern ruft bloß eine Methode auf und übergibt ein Object mit sämtlichen Membern. Diese Schreibweise ist idiotensicher, allerdings ist die interne Funktionsweise völlig weggekapselt.
Mathias