Nach einem wenig Javascript liest prototypical inheritance model, den Zugriff ändere ich meinen Stil aus einer Klasse von der Konstruktionbessere Art und Weise private Mitglieder in Javascript
var Some_Class = function() {
this.public_method = function() {
};
(function() {
// constructor
}).call(this)
}
zu
var Some_Class = function() {
(function() {
// constructor
}).call(this)
}
Some_Class.prototype.public_method = function() {
};
Obwohl ich verstehe, dass dies eine ist gute Praxis, aber ich darf nicht mehr auf private Methoden aus der öffentlichen Methode zugreifen
var Some_Class = function() {
var private_member = 'whatever';
(function() {
// constructor
}).call(this)
}
Some_Class.prototype.public_method = function() {
return private_member; // not possible
};
Nach here (Closure erstellte Konstruktor), dann kam ich heraus mit diesem
var Some_Class = function() {
var private_member = 'whatever',
private_method = function(_some_value) {
// private method implementation
};
if(!arguments.callee.prototype.public_method) {
arguments.callee.prototype.public_method = function() {
private_method.call(this, private_method);
};
}
(function() {
// constructor
}).call(this)
}
Doch was sind die Nachteile, dies zu tun durch einen Artikel zu lesen ?! oder gibt es eine bessere Möglichkeit, dies zu tun, wenn ich in der öffentlichen Methode auf private member zugreifen möchte?
danke für die Klärung, für die zweite Frage ... Ich denke, es ist wahrscheinlich, weil ich immer noch nicht sehr vertraut mit dem Objektmodell und wollte meinen Code vergleichbar mit OOP-Code in PHP/Java/andere OOP Programmiersprache – Jeffrey04