Contoh dalam artikel ini menerangkan penggunaan warisan pembina yang boleh digunakan dalam enkapsulasi js. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:
Mari kita lihat kod berikut dahulu
Kaedah yang digunakan oleh perpustakaan (YUI):
var F = function(){};
F.prototaip = Induk.prototaip;
Child.prototype = F();
Child.prototype.constructor = Kanak-kanak;
Child.uber = Ibu bapa.prototaip;
}
Terdapat juga kaedah pewarisan salinan, salinan atribut:
Kaedah ini berbeza daripada yang sebelumnya Memandangkan sambungan prototaip kanak-kanak telah selesai, tidak perlu menetapkan semula sifat child.prototype.constructor kerana ia tidak akan ditimpa lagi.
Berbanding dengan kaedah sebelumnya, kaedah ini jelas kurang berkesan sedikit. Kerana apa yang dilakukan di sini adalah untuk menyalin prototaip sub-objek satu demi satu. Daripada pertanyaan rantaian prototaip mudah.
Kaedah ini hanya terpakai kepada objek yang mengandungi hanya jenis data asas Semua jenis objek, termasuk fungsi dan tatasusunan, tidak boleh disalin dan ia hanya menyokong hantaran rujukan.
var Shape = function(){}
var TwoDShape = function(){}
Shape.prototype.name = 'shape';
Shape.prototype.toString = function(){
kembalikan this.name;
}
extend2(TwoDShape,Shape);
var t = TwoDShape();
t.nama
//-->"bentuk"
t.toString();
//-->"bentuk"
TwoDShape.prototype.name = 'TwoDShape';
t.nama
//-->"Bentuk 2d"
t.toString();
//-->"Bentuk 2d"
TwoDShape.prototype.toString === Shape.prototype.toString
//-->benar
TwoDShape.prototype.name === Shape.prototype.name
//-->palsu
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.