دعونا نلقي نظرة أولاً على الكود التالي:
آلة الدالة (Ecode ، حصان) {this.ecode = ecode ؛ this.horsepower = حصان ؛} وظيفة showme () {Alert (this.name + "" + this.ecode + "" + this.horspower) ؛} var machine = new machine ("code1" ، 15) ؛ machine.name = "machine1" ؛ machine.showme ؛ machine.showme () ؛في هذا الجزء من الكود ، بعد إنشاء كائن الجهاز ، تصبح وظيفة showme طريقة آلة كائن الجهاز من خلال machine.showme = showme ؛
ومع ذلك ، فإنه يعتمد على وظيفتين أعلاه (إحداهما مُنشئ الكائن والآخر هو الطريقة العادية) التي لا علاقة لها ببعضها البعض. مثل هذا الرمز ليس "أنيقًا" ، لذلك هناك نموذج أولي.
// machine function machine (ecode ، حصان) {this.ecode = ecode ؛ this.horspower = حصان ؛} // إيلاء اهتمام خاص لهذه الجملة. Machine.prototype تتم تهيئة عند تهيئته لأول مرة. // عند استدعاء الجهاز كمشارك ، لن تتغير قيمة المحرك مرة أخرى machine.prototype.engine = this.ecode + "" + this.horspower ؛ machine.prototype.showme = function () {Alert (this.name + "" + this.ecode + "" + this.horspower) ؛ }باستخدام الكود أعلاه ، تحتوي جميع كائنات الجهاز على طريقة Showme.
لكن إيلاء اهتمام خاص لـ:
النموذج الأولي لا يواجه فقط مثيلات ، وليس كائنات فئة. (في JS ، الفئة نفسها كائن) So machine.showme () ؛ سيقوم بالإبلاغ عن خطأ لأن كائن الجهاز لا يحتوي على طريقة Showme.
لذا ، كيف نستخدم طريقة showme؟ يجب إنشاء مثيل جديد للآلة ، وسيكون لمثيل الجهاز هذه الطريقة فقط.
var machine = new machine ("code1" ، 15) ؛ machine.name = "machine1" ؛ machine.showme () ؛ // الإخراج Machine11 15.مع النموذج الأولي ، من الأسهل بالنسبة لنا تنفيذ علاقات الميراث. على سبيل المثال ، إذا كتبت فئة سيارة الآن ، فأنا بحاجة إلى ورث فئة الماكينة الحالية ، وأحتاج فقط إلى كتابة الرمز التالي:
// car function car (name ، ecode ، chorsepower) {this.name = name ؛ // حساب مُنشئ الفئة الأصل ، بحيث يكون لآلة سمات Car Ecode و Horsepower Machine.Call (هذا ، Ecode ، القدرة الحصانية) ؛} // يشير النموذج الأولي للسيارة إلى الجهاز ، بحيث يكون للكائن السيارة أي خصائص وطرق للنموذج الأولي للآلة ، مثل showmecar.prototype = new machine () ؛التعليق التوضيحي واضح للغاية هنا ، لذلك لن أخوض في التفاصيل.
ثم ، يمكننا إنشاء كائن جديد لاختباره:
// إنشاء كائن جديد من سيارة الفئة. var xiali = سيارة جديدة ("Xiali" ، "AAA" ، 15) ؛ Alert (Xiali.Engine) ؛ xiali.showme () ؛ما سبق هو التطبيق الأساسي للنموذج الأولي ، لكنه أيضًا هو تطبيق النموذج الأولي.
سيكون لاستخدام النموذج الأولي الذي يتقنه فهم أعمق لبناء وميراث الأشياء في المستقبل.
لعرض المزيد من بناء جملة JavaScript ، يمكنك متابعة: "دليل JavaScript Reference Tutorial" و "JavaScript Code Style". آمل أيضًا أن يدعم الجميع wulin.com أكثر.