يقدم
يشير النموذج الأولي إلى نوع الكائنات التي يتم إنشاؤها مع مثيلات النموذج الأولي وإنشاء كائنات جديدة عن طريق نسخ هذه النماذج الأولية.
نص
بالنسبة لوضع النموذج الأولي ، يمكننا استخدام ميزة الميراث النموذجية الفريدة من JavaScript لإنشاء كائنات ، أي أنه يتم إنشاء كائن واحد كقيمة سمة النموذج الأولي لكائن آخر. يستخدم كائن النموذج الأولي نفسه بشكل فعال الكائنات التي أنشأها كل مُنشئ. على سبيل المثال ، إذا كان النموذج الأولي المُنشئ يحتوي على سمة اسم (انظر المثال أدناه) ، فسيكون للكائنات التي تم إنشاؤها من خلال هذا المُنشئ هذه السمة.
بالنظر إلى تعريف أنماط النموذج الأولي في الأدبيات الموجودة ، لا يوجد JavaScript. قد تجد أن العديد من التفسيرات تدور حول الفصول الدراسية ، ولكن الواقع هو أن JavaScript يعتمد على ميراث النموذج الأولي يتجنب تمامًا مفهوم الفصل. نحن ببساطة نسخ الكائن الحالي لإنشاء الكائن.
يُقترح الميراث النموذج الأولي الحقيقي كأحدث إصدار من معيار ECMASCRIPT5. يتم استخدام طريقة كائن. إنشاء مثل هذا الكائن. هذه الطريقة تنشئ كائن محدد. يحتوي النموذج الأولي لكائنه على كائن محدد (أي كائن المعلمة الأول الذي تم تمريره بواسطة الطريقة) ، ويمكن أن يحتوي أيضًا على سمات محددة اختيارية أخرى. على سبيل المثال ، Object.create (النموذج الأولي ، OptionalDescriptorObjects) ، يمكنك أيضًا رؤية هذا الاستخدام في المثال التالي:
نسخة الكود كما يلي:
// لأنه ليس مُنشئًا ، لا يلزم أن يتم رسملة
var somecar = {
محرك الأقراص: function () {} ،
الاسم: 'Mazda 3'
} ؛
// قم بإنشاء سيارة جديدة مع Object.create x
var analycar = object.create (somecar) ؛
anallecar.name = 'Toyota kami' ؛
Object.Create يديرك ترثك مباشرة من كائنات أخرى. باستخدام المعلمة الثانية لهذه الطريقة ، يمكنك تهيئة خصائص إضافية. على سبيل المثال:
نسخة الكود كما يلي:
مركبة فار = {
getModel: function () {
console.log ('قالب السيارة هو:' + this.model) ؛
}
} ؛
var car = object.create (مركبة ، {
'بطاقة تعريف': {
القيمة: my_global.nextid () ،
التعداد: TRUE // الافتراضي القابل للكتابة: خطأ ، قابل للتكوين: خطأ
} ،
'نموذج': {
القيمة: "فورد" ،
التعداد: صحيح
}
}) ؛
هنا ، يمكنك استخدام الكائن الحرفي لتمريره في المعلمة الثانية من الكائن. يسمح لك بتعيين خصائص الخصائص مثل التعداد أو القابل للكتابة أو القابلة للتكوين.
إذا كنت ترغب في تنفيذ وضع النموذج الأولي بنفسك ، بدلاً من استخدام Object.create مباشرة. يمكنك استخدام رمز مثل ما يلي لتنفيذ المثال أعلاه:
نسخة الكود كما يلي:
var meanprototype = {
init: وظيفة (carmodel) {
this.model = carmodel ؛
} ،
getModel: function () {
console.log ('قالب السيارة هو:' + this.model) ؛
}
} ؛
وظيفة مركبة (نموذج) {
دالة f () {} ؛
f.prototype = motterprototype ؛
var f = new f () ؛
F.init (نموذج) ؛
العودة و ؛
}
var car = مركبة ('Ford Escort') ؛
car.getModel () ؛
لخص
استخدام وضع النموذج الأولي في JavaScript هو ببساطة في كل مكان. تعتمد العديد من الأوضاع الأخرى أيضًا على النموذج الأولي ، لذلك لن أقول الكثير. ما يجب عليك الانتباه إليه هنا هو مشكلة النسخ الضحلة والنسخة العميقة لتجنب مشكلات الاقتباس.