Одно время, в мире JavaScript, все методы были общедоступны, и они не могли действительно определить частный метод от технического.
Код кода копирования следующим образом:
var person = function (имя, секс) {
this.name = name;
this.sex = sex;
var _privateVariable = ""; // Приватные переменные
// метод, определенный в конструкторе, является личным методом
function privatemedhod () {
_privateVariable = "частное значение";
Alert ("Частный метод называется! Частный значения члена:" + _privateVariable);
}
Privatemethod ();
}
Person.prototype.sayhello = function () {
Alert ("name:" + this.name + ", пол:" + this.sex);
}
var p = новый человек («Ян Го под деревом Бодхи», «Мужчина»);
p.sayhello ();
//p.privatemethod/); // Ошибка будет представлена здесь.
оповещение (P._PrivateVariable);
Примечание. Функция, определенная в конструкторе класса, является частным методом; (Тем не менее, все еще существуют различия в концепции частных членов в сильных типах, таких как C#, как C#.
Точно так же мы также можем реализовать упаковку аналогичного набора, получить атрибуты
Код кода копирования следующим образом:
var person = function () {
зарплата var = 0,0;
this.setsalary = function (value) {
зарплата = значение;
}
this.getSalary = function () {
Вернуть зарплату;
}
}
var p = новый человек ();
P.setsalarly (1000);
Alert (p.getsalar ());
предупреждение (P.Salary);
Примечание: «переменная область» в JS, «Функциональный контекст (это)», «Закрытие», «Цепочка прототипа» действительно стоит потратить некоторые усилия, чтобы понять, эти препятствия имеют в прошлом, JS начинающих игроков (например, Поток моего поколения), я считаю, что это будет новый уровень.