Pada suatu waktu, di dunia JavaScript, semua metode dimiliki secara publik, dan mereka tidak dapat benar -benar mendefinisikan metode pribadi dari teknis.
Salin kode kode sebagai berikut:
var person = function (name, sex) {
this.name = name;
this.sex = seks;
var _privatevariable = ""; // variabel pribadi
// Metode yang didefinisikan dalam konstruktor adalah metode pribadi
function privateMedHod () {
_privateVariable = "nilai pribadi";
alert ("Metode pribadi disebut! Nilai anggota pribadi:" + _privateVariable);
}
Privatemethod ();
}
Person.prototype.sayhello = function () {
Alert ("name:" + this.name + ", jenis kelamin:" + this.sex);
}
var p = orang baru ("yang guo di bawah pohon bodhi", "pria");
p.sayhello ();
//p.privatemethod/); // kesalahan akan dilaporkan di sini.
alert (p._privatevariable); // Tunjukkan: tidak ditentukan
Catatan: Fungsi yang didefinisikan dalam konstruktor kelas adalah metode pribadi; (Namun, masih ada perbedaan dalam konsep anggota pribadi dalam tipe yang kuat seperti C#seperti C#.
Demikian pula, kita juga dapat menyadari kemasan set yang sama, mendapatkan atribut
Salin kode kode sebagai berikut:
var person = function () {
var gaji = 0,0;
this.setsalary = function (value) {
Gaji = nilai;
}
this.getSalary = function () {
Kembali gaji;
}
}
var p = orang baru ();
P.setsalarly (1000);
alert (p.getsalar ());
peringatan (p.salary);
Catatan: "Lingkup Variabel" dalam JS, "Konteks Panggilan Fungsi (Ini)", "Penutupan", "Rantai Prototipe" memang layak untuk menghabiskan beberapa upaya untuk dipahami, rintangan ini memiliki di masa lalu, pemain JS pemula (misalnya, itu Aliran generasi saya), saya percaya ini akan menjadi level yang baru.