Hey,
ich arbeite an einem kleinen Tool und mir wird gerade klar, wie doof das ist, dass es in JS keine richtige Privatisierung gibt. Folgendes Beispiel:
(function() {
var myClass = function(msg) {
this.msg = msg;
};
myClass.prototype.alert = function() {
window.alert(reverse1(this));
window.alert(reverse2.call(this));
};
var reverse1 = function(myC) {
return myC.msg.split('').reverse().join('');
};
var reverse2 = function() {
return this.msg.split('').reverse().join('');
};
var m = new myClass('hello world');
m.alert();
})();
Sehe ich das richtig, dass eine „Privatisierung“ der Methode reverse
nur durch die oben gezeigten Varianten zu erreichen ist? Wenn Ja, welche ist zu bevorzugen? Wenn Nein, wie geht es besser?
Reinhard