Dalam proyek aktual, kami biasanya menggunakan konstruktor untuk membuat objek dan kemudian menambahkan beberapa metode yang umum digunakan ke objek prototipe. Akhirnya, baik instantiate objek secara langsung, atau menggunakannya sebagai kelas induk, menyatakan objek, dan mewarisi kelas induk.
Ada dua cara umum untuk mewarisi.
Salinan kode adalah sebagai berikut:
// Kelas Premium
function person (name) {
this.name = name;
};
// subkelas
function siswa (seks) {
Orang.
this.sex = seks;
};
1. Prototipe waris:
Salinan kode adalah sebagai berikut:
Student.prototype = person.prototype; Karena orang.
Student.prototype.constructor = siswa;
Gunakan objek prototipe orang untuk menimpa objek prototipe siswa; .
Lihatlah yang berikut:
Salinan kode adalah sebagai berikut:
Student.prototype.add = function () {alert ("add")};
Person.prototype.add (); // popt add
2. Contoh warisan:
Salinan kode adalah sebagai berikut:
Student.prototype = orang baru (); // Jika tidak ada parameter yang dilewati di sini, Anda tidak dapat menulis ();
2 student.prototype.constructor = siswa;
Gunakan contoh orang untuk menimpa objek prototipe siswa; Itu tidak akan tercermin secara langsung. Prototipe, yaitu subkelas tidak akan mempengaruhi kelas induk.
3. Gunakan objek kontrol untuk menggabungkan keunggulan 1 dan 2 untuk menghilangkan kerugian
Salinan kode adalah sebagai berikut:
var f = function () {};
F.prototype = person.prototype;
Student.prototype = baru f ();
Student.prototype.constructor = siswa;
F adalah objek kosong, dengan hanya beberapa metode prototipe di atas, yang mengkonsumsi lebih sedikit memori saat instantiating, dan juga mengisolasi dampak subclass pada kelas orang tua.