Ao mesmo tempo, no mundo do JavaScript, todos os métodos eram de propriedade pública e eles não podiam realmente definir um método privado do Technical.
Copie o código do código da seguinte forma:
var pessoa = função (nome, sexo) {
this.name = nome;
this.sex = sexo;
var _privateVariable = "";
// O método definido no construtor é um método privado
função privatemedhod () {
_privateVariable = "Valor privado";
alerta ("Método privado é chamado! Valor privado do membro:" + _privateVariable);
}
Privatemethod ();
}
Person.prototype.sayhello = function () {
Alerta ("nome:" + this.name + ", gênero:" + this.sex);
}
var p = nova pessoa ("Yang Guo sob a árvore bodhi", "masculino");
P.Sayhello ();
//p.privatemethod/); // O erro será relatado aqui.
alerta (p._privateVariable);
Nota: A função definida no construtor da classe é um método privado; (No entanto, ainda existem diferenças no conceito de membros privados em tipos fortes, como C#, como C#.
Da mesma forma, também podemos realizar a embalagem de conjunto semelhante, obtenha atributos
Copie o código do código da seguinte forma:
var pessoa = function () {
Var salário = 0,0;
this.SetSalary = function (valor) {
salário = valor;
}
this.getSalary = function () {
Salário de retorno;
}
}
var p = nova pessoa ();
P.SetSalarly (1000);
alerta (p.getsalar ());
Alerta (P. Salário);
Nota: "Escopo variável" em JS, "Contexto de Chamada de Função (this)", "Fechamento", "Cadeia de Protótipos" vale a pena gastar alguns esforços para entender, esses obstáculos têm no passado, JS Novice Players (por exemplo, o fluxo da minha geração), acredito que será um novo nível.