Hallo,
Das "geht" nicht, würde ich meinen. Denn this.private ist "undefined".
Ok, ich hatte es so probiert:
function MyClass(){ var private; }
// Instanz erzeugen:
var myInstance = new MyClass;
// Testweise einen Wert zuweisen (mein Denkfehler):
myInstance.private = 1;
// Klasse erweitern:
MyClass.prototype.myFunction = function() { alert(this.private); };
// Neue Methode anwenden:
alert(myInstance.private); // 1
Aber das ist anscheinend nicht dasselbe. "private" soll ja anscheinend gar keine Eigenschaft sein, sondern eben eine private Variable. Stimmt, dann kann man von außen natürlich nicht mehr zugreifen, auch nachträglich über den prototype angelegte Methoden können das nicht.
Wenn man trotzdem zugreifen will, bemüht man eben Getter und Setter, wobei sich mir der Sinn dessen nicht ganz erschließt. Dann kann man ja gleich eine normale Eigenschaft anlegen. Entweder man will von außen zugreifen können oder eben nicht. Dieses Get/Set kommt mir vor, als könne man sich nicht richig entscheiden: Ja, ich will zugreifen können, aber nur über Mittelsmänner, die Variable selber will ich nicht direkt anfassen – zu dreckig? zu unwürdig? oder wie ;) ?.
Gruß, Don P