النماذج الأولية والإغلاق هي الأكثر شيوعًا والأكثر صعوبة في فهمها ، ويُعتبر بسهولة جزءين من المشكلة في JavaScript. بالطبع ، لديهم أيضًا امتداداتهم ، مثل سلاسل النطاق ، والميراث ، وما إلى ذلك مؤخرًا ، لقد قرأتها أيضًا بطرق مختلفة ، وقلبتها جميعًا ، وسجلت تجربتي الخاصة. الكتابة ستجعل دائمًا فهمي أعمق. (لا علاقة له باللقب ، لذلك تنهدت. في كل مرة أشعر أنني أفهمها ، ما زلت أكسب الكثير من المكافآت بعد قراءته)
دعنا نتحدث أولاً عن الكلمة الرئيسية الجديدة في JavaScript. عادة ، نستخدمه لإنشاء كائن مثيل لفئة ما. في JavaScript ، بعد إنشاء إنشاء الكائن ، نرث سمات وطرق الفصل. دعونا نوضح ذلك من خلال الكود
PORCTION Person (name) {this.name = name ؛} person.age = "23" ؛ person.prototype.say = function () {console.log ("أنا" + هذا. console.log (person.name ، // wang fang person.height // undefined) ؛ person.say () ؛ // أنا wang fang console.log (person.name ، // person.age // 23) ؛ person.say () ؛ //person.say ليس وظيفةلنلقي نظرة على هذا الخط
var person = شخص جديد ("وانغ فانغ") ؛
ماذا فعل الجديد؟ ما يلي هو ما تفعله وظيفة محرك JS
var obj = {} ؛ obj .__ proto__ = person.prototype ؛ var result = person.call (obj ، "wang fang") ؛ return typeof result === 'obj'؟ النتيجة: OBJ ؛1. إنشاء كائن جديد أولاً
2. النقطة OBJ's __PROTO__ إلى النموذج الأولي للنموذج الشخصي ، ثم تم إنشاء سلسلة النموذج الأولي لكائن OBJ: OBJ-> person.prototype-> Object.prototype-> null
3. اتصل بوظيفة الشخص في مساحة تنفيذ كائن OBJ وقم بتمرير المعلمة "Wang Fang". إنه يعادل VAR RESOND = OBJ.Person ("Wang Fang"). بعد تنفيذ هذه الجملة ، يقوم OBJ بإنشاء اسم السمة ويعينه إلى "Wang Fang".
4. تحديد قيمة الإرجاع. إذا لم تكن هناك قيمة إرجاع أو يتم إرجاع قيمة غير كائن ، فإن إرجاع OBJ. خلاف ذلك ، يتم إرجاع قيمة الإرجاع ككائن جديد (لمسة صغيرة ، مشغل ثلاثي ، يرجى التحقق من ذلك بنفسك)
تلخيص:
الوظيفة الرئيسية للكلمة الرئيسية الجديدة لجافا سكريبت هي الميراث ، كما هو مذكور في المثال أعلاه ، ولكن تذكر أن الشخص وظيفة ، في حين أن الشخص هو كائن. بالنسبة للفرق بين الوظائف والكائنات ، سأكتبه مرة أخرى إذا كان لدي وقت.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.