Struppi: Speicherplatz von "Methoden" in JavaScript

Beitrag lesen

na das ganzes ist optisch besser Strukturiert, steht doch da.

Naja.

Man hat die gesamte Definition der Klasse in einem Block und durch die Abfrage ob _initialized definiert ist, werden die Funktionen (sind auch Objekte) auch nur ein einziges mal erzeugt. Das Gleiche erreicht man natürlich auch, wenn man die Funktionen per prototype außerhalb des eigentlichen Klassenblocks definiert. Nur genau das finden halt einige Verwirrend (wie auch der Eröffner des Threads), weil die Klasse verteilt ist und man nicht sofort sieht, welche Methoden zu ihr gehören

Das ist Quatsch, der Prototype wird nur einmal deklariert, der normale Weg den auch Mathias schon erläutert hat, geht so:

  
function meineKlasse(a,b,c)  
{  
     this.a = a;  
     this.b = b;  
     this.c = c;  
}  
meineKlasse.prototype =  
{  
meineMethode: function(test)  
{  
alert(test);  
}  
}  

Die prototype Funktionen stehen ausserhalb und werden nur einmal deklariert. Das die prototype deklaration innerhalb der contructor Funktion stehen hab ich noch nie gesehen.

Struppi.

--
Javascript ist toll (Perl auch!)