تصف هذه المقالة استخدام ميراث المنشئ الذي يمكن استخدامه بواسطة تغليف JS. شاركه للرجوع إليه. التفاصيل كما يلي:
لنلقي نظرة على الكود التالي
الطرق المستخدمة في مكتبة (يوي):
انسخ الرمز على النحو التالي: وظيفة تمديد (الطفل ، الوالد) {
var f = function () {} ؛
f.prototype = parent.prototype ؛
child.prototype = new f () ؛
child.prototype.constructor = الطفل ؛
child.uber = parent.prototype ؛
}
هناك أيضًا طريقة وراثة نسخة ، نسخة السمة:
هذه الطريقة تختلف عن السابق. نظرًا لأن النموذج الأولي للطفل قد تم تمديده ، فليست هناك حاجة لإعادة ضبط الطفل.
مقارنة بالطريقة السابقة ، من الواضح أن هذه الطريقة أفضل في الكفاءة. لأن ما تم تنفيذه هنا هو نسخة من النموذج الأولي الفرعي واحد تلو الآخر. بدلا من استعلام سلسلة أولي بسيطة.
لا تنطبق هذه الطريقة إلا على الكائنات التي تحتوي فقط على أنواع البيانات الأساسية. جميع أنواع الكائنات ، بما في ذلك الوظائف والصفائف ، غير قابلة للتكرار. أنها تدعم فقط مرجع تمرير.
انسخ الرمز على النحو التالي: الوظيفة تمدد 2 (الطفل ، الوالد) {
var p = parent.prototype ؛
var c = child.prototype ؛
لـ (var i in p) {
c [i] = p [i] ؛
}
C.Uber = p ؛
}
var function = function () {}
var twodshape = function () {}
شكل. prototype.name = 'الشكل' ؛
شكل.
إرجاع هذا.
}
تمديد 2 (twodshape ، الشكل) ؛
var t = new twodshape () ؛
T.Name
//-> "الشكل"
T.ToString () ؛
//-> "الشكل"
twodshape.prototype.name = 'twodshape' ؛
T.Name
//-> "الشكل 2D"
T.ToString () ؛
//-> "الشكل 2D"
twoDshape.prototype.ToString === الشكل
//-> صحيح
twoDshape.prototype.name === الشكل
//-> خطأ
آمل أن تكون هذه المقالة مفيدة لبرمجة JavaScript للجميع.