Artikel ini menjelaskan penggunaan warisan konstruktor yang dapat digunakan oleh enkapsulasi JS. Bagikan untuk referensi Anda. Dengan rincian sebagai berikut:
Mari kita lihat kode berikut
Metode yang digunakan di pustaka (YUI):
Salin kode sebagai berikut: Fungsi Perluasan (anak, induk) {
var f = function () {};
F.prototype = parent.prototype;
Child.prototype = baru f ();
Child.prototype.constructor = anak;
Child.uber = Parent.prototype;
}
Ada juga metode warisan salinan, salinan atribut:
Metode ini berbeda dari sebelumnya. Karena prototipe anak telah diperpanjang, tidak perlu mengatur ulang properti Child.prototype.constructor karena tidak akan ditimpa lagi.
Dibandingkan dengan metode sebelumnya, metode ini jelas lebih baik dalam efisiensi. Karena apa yang dieksekusi di sini adalah salinan prototipe sub-objek satu per satu. Daripada kueri rantai prototipe sederhana.
Metode ini hanya berlaku untuk objek yang hanya berisi tipe data dasar. Semua jenis objek, termasuk fungsi dan array, tidak dapat ditiru. Mereka hanya mendukung passing referensi.
Salin kode sebagai berikut: function extend2 (anak, induk) {
var p = parent.prototype;
var c = child.prototype;
untuk (var i in p) {
c [i] = p [i];
}
c.uber = p;
}
var bentuk = fungsi () {}
var twodshape = function () {}
Bentuk.prototype.name = 'bentuk';
Shape.prototype.toString = function () {
kembalikan nama ini;
}
Extend2 (Twodshape, Shape);
var t = twodshape baru ();
t.name
//-> "bentuk"
t.tostring ();
//-> "bentuk"
Twodshape.prototype.name = 'twodshape';
t.name
//-> "bentuk 2D"
t.tostring ();
//-> "bentuk 2D"
Twodshape.prototype.toString === Shape.prototype.tostring
//-> true
Twodshape.prototype.name === bentuk.prototype.name
//-> false
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.