في المقالة السابقة ، ذكرت الكائنات والنماذج الأولية في JavaScript (I) بعض العمليات الأساسية في إنشاء كائنات في JavaScript ، وسوف تستمر في مناقشتها بعد ذلك.
نموذج مصنع واحد
نحن نعلم أنه لإنشاء كائن يمكننا استخدام الكود التالي:
var user = new Object () ؛ // قم بإنشاء كائن باستخدام user.name user.name = "تلاوة على بحيرة Triangle ؛ // إضافة سمات إلى مستخدم الكائن. // عودة 'تلاوة على بحيرة المثلث' Hubei Wuhan '
يعد إنشاء كائنات بهذه الطريقة بسيطة وبديهية ، وهي أيضًا الطريقة الأساسية لإنشاء الكائنات في JavaScript. ولكن هناك مشكلة مثل هذه ، إذا كنا بحاجة إلى إنشاء كائنات متعددة ، فيجب علي كتابة الكثير من التعليمات البرمجية المكررة. على سبيل المثال ، إذا كنا نريد إنشاء مستخدم كائن آخر 1 ، فيجب علينا إعادة كتابة الكود أعلاه مرة أخرى ، وهو غير مناسب في عملية التطوير الفعلية. وبهذه الطريقة ، إذا كان هناك الكثير من الكائنات ، فستزداد كمية الكود بشكل كبير.
لحل مثل هذه المشكلة ، يمكننا استخدام طريقة تسمى نمط المصنع ، والتي تتمثل في حل مشكلة إنشاء الكائنات التي تنتج كمية كبيرة من التعليمات البرمجية المكررة.
وظيفة إنشاء (اسم ، العمر) {var obj = new Object () ؛ obj.name = الاسم ؛ obj.age = العمر ؛ obj.run = function () {return this.name + '' + this.age ؛ } ؛ إرجاع OBJ ؛} var obj1 = إنشاء ('zxc' ، 10) ؛ // المذيع الأول var obj2 = إنشاء ('cxz' ، 20) ؛ // تنبيه المثيل الثاني (obj1.run ()) ؛ التنبيه (obj1.run ()) ؛من الكود أعلاه ، يمكننا أن نرى أن نمط المصنع يحل مشكلة التكرار على نطاق واسع من الكود أثناء إنشاء مثيل ، ولكن هناك مشكلة أخرى ، أي تحديد المشكلة ، لا يمكننا معرفة الكائن الذي هم عليه. على سبيل المثال
تنبيه (نوع OBJ1) ؛ // objectalert (OBJ1 extryof Object) ؛ //حقيقي
يشير الرمز أعلاه إلى أن Box1 هو كائن كائن ، لكن لا يمكننا معرفة الكائن الذي تم إنشاؤه.
مُنشئان (طريقة البناء)
من أجل حل المشكلة أعلاه ، يمكننا استخدام البنائين لإنشاء كائنات. الفرق الوحيد بين المنشئ والوظيفة العادية هو أن طريقة الاتصال مختلفة. ومع ذلك ، فإن المنشئ هو أيضا وظيفة.
مستخدم الوظيفة (الاسم ، العمر) {// mode constructor this.name = name ؛ this.age = العمر ؛ this.run = function () {return this.name + '' + this.age ؛ } ؛}فقط استخدم المشغل الجديد عند إنشاء كائن:
var user1 = مستخدم جديد ('zxc' ، 25) ؛ var user2 = مستخدم جديد ('cxz' ، 22) ؛الآن يمكننا اكتشاف ما إذا كان user1 أو user2 ينتمي إلى المستخدم.
ALERT (user1 مثيل user) ؛ // صحيح
يمكن ملاحظة أن استخدام طريقة المنشئ يحل مشكلة الاستئصال المتكرر ويحل أيضًا مشكلة التعرف على الكائن.
عملية التنفيذ عند استخدام مُنشئ هي كما يلي:
1. عند تنفيذ المنشئ الجديد () ، تنفذ الخلفية كائن جديد () ؛
2. نطاق المنشئ إلى الكائن الجديد.
3. تنفيذ الكود داخل المنشئ ؛
4. الخلفية تُرجع مباشرة الكائن الجديد.
بعد ذلك ، دعنا نلقي نظرة على مشاكل الوظيفة داخل المنشئ. إذا قمنا بتنفيذ البيان التالي:
ALERT (user1.run == user2.run) ؛ // تُرجع النتيجة خطأ
تعيد النتيجة خطأ ، مما يعني أن الطريقة هي في الواقع عنوان مرجعي. إذا قمت بإنشاء كائنات متعددة بشكل متكرر ، فستفتح الطرق في كل كائن مساحة جديدة في الذاكرة ، والتي ستضيع مساحة أكبر. لحل هذه المشكلة ، نحتاج إلى استخدام مشاركة خصائص المثيل أو الأساليب. سنستمر في مناقشة حل هذه المشكلة في المقالة التالية.
ما سبق هو الكائنات والنماذج الأولية في JavaScript التي قدمها لك المحرر (II). آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!