Allerdings, eines stört mich an dieser object() Vererbungsfunktion...
var object = function(o){function F(){}F.prototype=o;return new F();};
> ... wo bleibt dann der Konstruktor für lokale Variablen der Instanz (this.bla usw...)? (da fehlt ein Semikolon oder?)
Nein, es fehlt kein Semikolon. Das ist das Problem an diesem Konstrukt, es ist keine allgemein Funktion um eine Vererbung darzustellen, sondern ist nur ein Beispiel für die Vererbung von F(), d.h. du musst für jedes unterschiedliche F() das vererben soll, eine solche Funktion schreiben. Das ist auch die einzige Möglichkeit sinnvolle Vererbung in JS umzusetzten.
> So kann man wirklich weitestgehend auf new und prototype verzichten, function und this wird man aber trotzdem zumindest für Methoden brauchen.
Der Verzicht auf prototype ist nur bedingt, du verschiebst einfach die Verwendung von prototype in die object() Funktion.
> [1] naja von Perl bin ich auch ein verwirrend vielfältiges Objektsystem, sowie Closures und Coderefrenzen gewohnt, die man braucht man in JS um javaartige Klassen abzubilden.
Naja, so verwirrend finde ich Perl nicht, solange man sich nicht in die Innereien von Perl wagt und für javartige Klassen einfach die entsprechenden Module verwendet. Aber ich gebe es zu, ich habe auch erstmal [Class::Accessor](http://search.cpan.org/~kasei/Class-Accessor-0.31/lib/Class/Accessor.pm) nachgebaut, bevor ich beim CPAN gesucht hatte.
Struppi.