Artikel ini menganalisis penggunaan warisan JS. Bagikan untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Warisan: Subkelas tidak mempengaruhi kelas induk. Subkelas dapat mewarisi beberapa fungsi kelas induk (kembali kode)
Warisan Properti: Panggil konstruktor kelas induk
Metode Warisan: Untuk di: Salin Warisan (jQuery juga menggunakan copy warisan.
1. Salin warisan
function person (name) {this.name = name;} person.prototype.showname = function () {alert (this.name);} function worker (name, job) {person.call (this, name); this.job = job;} extend (worker.prototype, person.prototype); // Jika worker.prototype = person.prototype, itu akan menyebabkan fungsi referensi yang sama diperluas (obj1, obj2) {for (var i dalam obj2) {obj1 [i] = obj2 [i]}} cod Obj2) {obj1 [i] = Obj2 [i] {var i di obj2) {obj1 [i] = Obj2 [i]}} coded = Obj1 [i] = Obj2 [i]} var cod Pekerja ('Magicfly', 'Frontend'); coder.showname ();2. Warisan kelas
function person (name) {this.name = name;} person.prototype.showname = function () {alert (this.name);} function worker (name, job) {person.call (this, name); this.job = job;} // worker.prototype = orang baru (); // pewarisan akan mewarisi atribut yang tidak perlu dari fungsi induk f () {}; f.prototype = person.prototype; worker.prototype = new f (); // selesaikan dengan menetapkan konstruktor sementara, juga diketahui sebagai konstruktor sementara sebagai var fungsi = fungsi f (); // pemecahan var, var cod Pekerja ('magicfly', 'start'); coder.showname ();3. Prototipe warisan
var a = {name: 'xiao ming'}; var b = cloneobj (a); b.name = 'xiaoqiang'; // alert (b.name); waspada (a.name); fungsi cloneobj (obj) {var f = fungsi () {}; F.prototype = obj; mengembalikan f baru ();}Berlaku
Salin Warisan: Jenis tujuan umum dapat digunakan saat baru atau tidak baru
Warisan Klasifikasi: Konstruktor Baru
Prototipe warisan: objek tanpa baru
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.