Hallo,
Es geht um diesen Unterschied:
function MyClass() {
this._private;
}
MyClass.prototype.func = function() {return this._private;};
MyClass.prototype.tu_was = function(p) {this._private = p * p;};
var x = new MyClass();
> >
> > ~~~javascript
function MyClass() {
> > var private;
> > this.func = function() {return private;};
> > this.tu_was = function(p) {private = p * p;};
> > }
> > var x = new MyClass();
> >
Ähm, das liegt doch daran, dass diese Variable "private" durch das Closure konserviert werden muss. Der Performanceverlust, wie von molily in dem vorhin verlinkten Artikel beschrieben, entsteht durch den Einsatz des Closure.
Nein, der Performanceverlust entsteht durch die Zuweisung von this.func = function() {} zur Laufzeit.
Struppi.