nur eine eine Closure-Variable, auf die unnötigerweise vom Prototyp aus zugegriffen wird. Viel einfacher ist bei gleicher Leistung doch das übliche
Das mit der gleichen Leistung stimmt nicht, das ist je nach Browser ca. 2-4 Mal langsamer.
Und ich wiederhole mich vermutlich zum 20. Mal, es geht nur darum zu zeigen, dass JS kein Schlüsselwort für private hat und das man dies nur über diesen Umweg simulieren kann.
[code lang=javascript]var MyClass = function() {
var private;
this.func = function() {return private;};
this.tu_was = function(p) {private = p * p;};
};
In der Tat hat man somit eine private Klassenvariable.
Nein jhat man nicht, du hast ein private Variabel im Konstruktor, auf die priviligierte Funktionen zugreifen können. Alle Funktionen am protoype, können nicht darauf zugreifen. Genau darum ging es im Beispiel.
Struppi.