Es geht mir dabei im speziellen um die Methoden
Person.fn.gruss
undPerson.niessen
.
Während erstere nur über eine Instanz desPerson
-Objektes aufgerufen werden kann
und dabei sowohl auf dessen Eigenschaften als auch auf “äußere” Methoden wie im Falle des Beispiels auf
Person.niessen
Zugriff hat, fungiert letztere eher als eine Art
public static function
einer Klasse wie ich sie aus PHP kenne.
Ja, Person.niessen ist eine statische Funktion, die nur über das Objekt Person erreichbar ist.
Person.fn ist in deinem Code ein Synonym für Person.prototype, mehr darüber findest du in den von Felix verlinkten Artikeln.
Es stimmt aber nicht, dass die Funktion nur über eine Instanz erreichbar ist. Du kannst die Funktion auch direkt aufrufen, aber um diese dann an die aktuelle Instanz koppeln zu können, musst du apply oder call verwenden.
Also in etwa so:
Person.fn.niessen.apply(Stefan);
Struppi.