À un moment donné, dans le monde de JavaScript, toutes les méthodes étaient publiques, et ils ne pouvaient pas vraiment définir une méthode privée de Technical.
Copier le code du code comme suit:
var personne = fonction (nom, sexe) {
this.name = name;
this.sex = sexe;
var _privateVariable = "";
// La méthode définie dans le constructeur est une méthode privée
fonction privatemedhod () {
_privateVariable = "Valeur privée";
alert ("La méthode privée est appelée! valeur du membre privé:" + _privateVariable);
}
PrivateMethod ();
}
Personne.prototype.sayhello = fonction () {
Alert ("name:" + this.name + ", genre:" + this.sex);
}
var p = nouvelle personne ("Yang guo sous l'arbre Bodhi", "mâle");
P.Sayhello ();
//p.privateMethod /); // L'erreur sera rapportée ici.
alerte (P._PrivateVariable);
Remarque: La fonction définie dans le constructeur de la classe est une méthode privée; (Cependant, il existe encore des différences dans le concept de membres privés dans des types forts tels que C # tels que C #.
De même, nous pouvons également réaliser l'emballage d'un ensemble similaire, obtenez des attributs
Copier le code du code comme suit:
var personne = fonction () {
Salaire VAR = 0,0;
this.setsalary = fonction (valeur) {
salaire = valeur;
}
this.getsalary = function () {
Salaire de retour;
}
}
var p = new personne ();
P.SetSalarly (1000);
alerte (p.getsalar ());
alerte (p.salary);
Remarque: "Scope variable" dans JS, "Fonction Calling Context (this)", "Close", "Prototype Chain" valent en effet la peine de dépenser quelques efforts pour comprendre, ces obstacles ont sur le passé, JS Novice Players (par exemple, le flux de ma génération), je crois que ce sera un nouveau niveau.