In der Welt von JavaScript waren alle Methoden öffentlich im Besitz, und sie konnten eine private Methode von technisch nicht wirklich definieren.
Kopieren Sie den Code -Code wie folgt:
var Person = Funktion (Name, Sex) {
this.name = name;
this.sex = sex;
var _privateVariable = "";
// Die im Konstruktor definierte Methode ist eine private Methode
Funktion privatemedhod () {
_PrivateVariable = "privater Wert";
Alert ("Private Methode heißt private Mitgliedswert:" + _privateVariable);
}
Privatemethod ();
}
Person.Prototype.sayhello = function () {
Alert ("name:" + this.name + ", Geschlecht:" + this.sex);
}
var p = neue Person ("Yang Guo unter dem Bodhi -Baum", "männlich");
P.Sayhello ();
//p.privatemethod/); // Der Fehler wird hier gemeldet.
alert (p._privateVariable);
Hinweis: Die im Konstruktor der Klasse definierte Funktion ist eine private Methode. (Es gibt jedoch immer noch Unterschiede im Konzept von privaten Mitgliedern in starken Typen wie C#wie C#.
In ähnlicher Weise können wir auch die Verpackung eines ähnlichen Satzes erkennen und Attribute erhalten
Kopieren Sie den Code -Code wie folgt:
var person = function () {
VAR -Gehalt = 0,0;
this.setSalary = function (value) {
Gehalt = Wert;
}
this.getSalary = function () {
Returngehalt;
}
}
var p = neue Person ();
P.setSalarly (1000);
alert (p.getSalar ());
Alarm (p.salary);
Hinweis: "variabler Umfang" in JS, "Funktionsaufruf Kontext (dieser)", "Verschluss", "Prototyp -Kette" sind in der Tat wert, einige Anstrengungen zu verbringen, um zu verstehen, diese Hürden haben in der Vergangenheit JS -Anfänger (zum Beispiel die Fluss meiner Generation), ich glaube, es wird ein neues Niveau sein.