بالنسبة للوافدين الجدد ، فإن النموذج الأولي JavaScript أمر مزعج للغاية. أولاً ، من السهل الخلط بين النموذج الأولي و __proto__ ، والثاني ، الاتجاهات المختلفة بينهما معقدة حقًا. في الواقع ، هناك بالفعل العديد من المقالات في السوق تحاول توضيح ذلك. هناك ما يسمى صورة كلاسيكية مع خطوط مختلفة مرسومة عليها ، وربط هذه الصورة وهذا واحد. لأكون صادقًا ، أشعر بالدوار الشديد بنفسي ، ناهيك عن فهمها تمامًا. لذلك أريد أيضًا أن أجربها بنفسي لمعرفة ما إذا كان بإمكاني فصل نقاط المعرفة المهمة في النموذج الأولي وشرحها بوضوح في أبسط نموذج الرسم البياني.
نحن نعلم أن النموذج الأولي هو كائن يمكن من خلاله تنفيذ كائنات أخرى ميراث السمة. ولكن بالإضافة إلى النموذج الأولي ، هناك __proto__ آخر يستخدم ل؟ كيف يمكن للناس أن يميزوا ذلك إذا بداوا متشابهين؟ من يشيرون إليه؟ كيف يمكنك أن تتذكر الفوضى؟ ما هي سلسلة النموذج الأولي؟ أعتقد أن العديد من المبتدئين الذين لديهم بعض الخبرة قد لا يكونون قادرين على شرح ذلك تمامًا. فيما يلي ثلاث صور بسيطة وبعض رموز المثال لفهمها.
1. الفرق بين النموذج الأولي و __proto__
var a = {} ؛ console.log (A.Prototype) ؛ //undefinedconsole.log(a.__proto__) ؛ // object {} var b = function () {} console.log (b.Prototype) ؛ // b {} console.log (b .__ proto__) ؛ //وظيفة() {} /*1. الطريقة الحرفية*/var a = {} ؛ console.log (a .__ proto__) ؛ // Object {} console.log (a .__ proto__ === A.Constructor.Prototype) ؛ // صواب/*2. طريقة المنشئ*/var a = function () {} ؛ var a = new a () ؛ console.log (a .__ proto__) ؛ // a {} console.log (a .__ proto__ === A.Constructor.Prototype) ؛ // صواب/*3. Object.create () method*/var a1 = {a: 1} var a2 = object.create (a1) ؛ console.log (a2 .__ proto__) ؛ // object {a: 1} console.log (a .__ proto__ === A.Constructor.prototype) ؛ // false (هذا هو الاستثناء في الشكل 1) var a = function () {} ؛ var a = new a () ؛ console.log (a .__ proto__) ؛ // a {} (أي كائن النموذج الأولي من دالة المنشئ a) console.log (a .__ proto __.__ proto__) ؛ // object {} (أي كائن النموذج الأولي لكائن دالة المنشئ) console.log (a .__ proto __.__ proto __.__ proto__) ؛ //باطلما سبق هو كل شيء عن هذا المقال. تستخدم هذه المقالة ثلاث صور لشرح كائنات النموذج الأولي وسلاسل النموذج الأولي لـ JavaScript. آمل أن يكون ذلك مفيدًا للجميع عند تعلم JavaScript.