En un momento, en el mundo de JavaScript, todos los métodos eran de propiedad pública, y realmente no podían definir un método privado de la técnica.
Copiar código del código de la siguiente manera:
var persona = function (nombre, sexo) {
this.name = name;
this.sex = sexo;
var _privateVariable = "";
// El método definido en el constructor es un método privado
function privateMedHod () {
_PrivateVariable = "Valor privado";
alerta ("El método privado se llama! Valor de miembro privado:" + _PrivateVariable);
}
PrivateMethod ();
}
Persona.prototype.sayhello = function () {
Alerta ("nombre:" + this.name + ", género:" + this.sex);
}
var p = nueva persona ("yang guo debajo del árbol bodhi", "hombre");
P.Sayhello ();
//p.privateMethod/); // El error se informará aquí.
alerta (P._PrivateVariable);
Nota: La función definida en el constructor de la clase es un método privado; (Sin embargo, todavía hay diferencias en el concepto de miembros privados en tipos fuertes como C#como C#.
Del mismo modo, también podemos darnos cuenta del empaque de un conjunto similar, obtener atributos
Copiar código del código de la siguiente manera:
var persona = function () {
VAR SALARY = 0.0;
this.setsalary = function (valor) {
salario = valor;
}
this.getSalary = function () {
Salario de devolución;
}
}
var p = nueva persona ();
P.SetSalarly (1000);
alerta (p.getSalar ());
alerta (P.SALARY);
Nota: "Variable alcance" en JS, "Contexto de llamadas de funciones (este)", "cierre", "cadena prototipo" realmente vale la pena gastar algunos esfuerzos para comprender, estos obstáculos tienen en el pasado, JS Novice Players (por ejemplo, el Flujo de mi generación), creo que será un nuevo nivel.