في لغة البرمجة النصية JavaScript ، فإن تعريف الوظيفة هو كتلة من الكود مدفوع بحدث أو قابلاً لإعادة الاستخدام عند استدعاءه. في ecmascript القياسية من JavaScript ، يتم التعبير عن الوظائف كبيانات يمكن تشغيلها في أي وقت وفي أي مكان. أنا شخصياً لا أتفق مع بيان ECMA ، لأنه سيتم تنفيذ الوظيفة فقط عند حدوث مكالمة ، وإلا فإنها ستكون رمزًا بلا حياة.
دعونا نفهم الوظائف بالتفصيل.
(1) أولاً وقبل كل شيء ، فإن تعريف الوظيفة: تعريف وظيفة ECMASCRIPT يتكون من أربعة أجزاء: اسم وظيفة الكلمة الرئيسية (المعلمة) {body ؛ إرجاع (قيمة الإرجاع)} ؛ ، لكن تعريف الوظيفة في لغة البرنامج النصي ينقسم إلى ثلاث طرق:
النموذج 1: اسم الوظيفة (المعلمة) {body ؛ قيمة الإرجاع} ؛ طريقة التعريف هذه هي نفس طريقة ecmascript ؛
النموذج 2: var function name = function (parameter) {body ؛ قيمة الإرجاع} ؛
النموذج 3: اسم وظيفة var = دالة جديدة (المعلمة) {body ؛ قيمة الإرجاع} ؛
هناك فقط هذه الطرق الثلاث لتحديد الوظائف في JavaScript. دعنا نتحدث عن الاحتياطات والاستخدام المحدد لكل طريقة تعريف: إن الطريقة الأولى للتعريف هي أبسط وأسهل الفهم. إنه ببساطة يحدد وظيفة لنا لاستخدامها في البرمجة التالية ؛ الطريقة الثانية هي تنفيذها عن طريق بناء وظيفة مجهولة ومزودة هذه الوظيفة المجهولة إلى متغير دالة نحددها. إنه أمر شائع جدًا في الإغلاق ، بحيث يمكننا في المجال العالمي استخدام وظائف على المستوى الداخلي لتشكيل بنية إغلاق. الطريقة الثالثة هي إنشاء مساحة ذاكرة جديدة لتخزين وظيفتنا المجهولة وتعيين قيمة إلى اسم الوظيفة التي حددناها. يتم إنشاء هذه الوظيفة بناءً على وظيفتنا المجهولة. تستخدم هذه الطريقة بشكل أساسي في النموذج الأولي.
في الواقع ، من خلال الملاحظة ، سنجد أن طرق التعريف الثلاثة هذه تبدو مرتبطة ارتباطًا وثيقًا. يبدو أن الطريقة الأولى الثالثة هي مزيج من الأولين والثالث. الشيء الفعلي هو أيضًا ما تراه ، لذلك نحتاج فقط إلى معرفة أساليب التعريف الثلاثة هذه ونعرف فقط متى سيستخدمونها. علاوة على ذلك ، فإن ما أريد قوله هو أن أنواع بيانات طرق التعريف الثلاثة هذه تعتمد على الأنواع الأساسية ، وهي نفس البيانات التي تعتمد على أنواع الكائنات. في أنواع البيانات المستندة إلى الكائنات ، نسمي الكائنات وظائف. عندما تتواصل مع تعريف الكائنات ، فمن الواضح أنها محددة بنفس الطريقة. لكن اسم الوظيفة يسمى كائن ، ونموذج التعريف متشابه جدًا. تذكر أن الكائن هو وظيفة ، والدالة هي كائن.
(2) عدة وظائف خاصة
(1) وظائف مجهولة
ما يسمى الوظيفة المجهولة هي دالة بدون اسم وظيفة. الهدف من هذا النوع من الوظائف هو أن دعوتها صعبة ، مما يضمن الأمن. فكيف ندعو وظائف مجهولة؟ دعونا نلقي نظرة على مثال:
من خلال تمرير وظائف مجهولة كوسائط إلى متغير إضافة ، يمكننا استدعاء وظائفنا المجهولة.
(2) وظيفة التمويل الذاتي
الوظائف ذات الذات هي أيضًا نوع من الوظائف المجهولة. لا يتم تمريرها كمعلمات للمتغيرات الأخرى ، ولا لديها أسماء وظائفهم الخاصة. بمعنى آخر ، لا يمكن أن يطلق عليهم الآخرون ، لا يمكنهم إلا أن يطلقوا على أنفسهم.
طريقة الكتابة في هذا الشكل هي استخدام وظيفة التنظيم الذاتي. هذه الوظيفة محاطة بقسمين. تتمثل وظيفة القوس الأول في تغليفها ، وتغليف الوظيفة المجهولة التي كتبناها. يتم استدعاء الشريحة الثانية ، ويمكننا أيضًا تهيئتها ، تمامًا مثل طريقة الكتابة لوظيفة التنظيم الذاتي الثاني.
في الواقع ، تُستخدم وظائف التوجيه الذاتي بشكل أساسي لتنفيذ وظائف لمرة واحدة ، مما يعني أنها تعمل مرة واحدة فقط أثناء دورة التنفيذ ، لذلك عندما نهيئة صفحة الويب ، يمكننا التفكير في استخدام وظائف التدلول الذاتي.
(3) وظيفة رد الاتصال
وظيفة رد الاتصال هي وظيفة تمرر نفسها كقيمة إرجاع أو معلمة فعلية.
الوظائف A () و B () هي تطبيقات وظائف رد الاتصال.
(4) الوظائف الداخلية
هذه جملة ، وهي نوع من الوظائف الموجودة داخل الوظيفة.
(3) مزايا الوظائف
1. يتم كتابة عدد كبير من العبارات المتكررة في الوظيفة ويمكن استدعاؤه بشكل متكرر ؛
2. تبسيط لغة البرمجة وجعل البرمجة معيارية ؛
3. تحسين بنية الكود ؛
(4) أشياء يجب ملاحظتها
1. عند كتابة وظيفة ، يمكنك تسميتها أولاً وكتابتها ؛ لأن JavaScript سوف تعلن ضمنيًا جميع وظائفنا ومتغيراتنا في بداية البرنامج ؛
2. لن يتم تنفيذ الوظيفة بنفسها. فقط عند حدوث استدعاء الوظيفة ، سيتم تخصيص المساحة واستخدامها ؛
3. عندما تكون أسماء الوظائف هي نفسها ، يتم تنفيذ الوظيفة المكتوبة أدناه بشكل افتراضي ؛
4. إذا كان اسم الوظيفة يتكون من كلمة واحدة ، فإن الحرف الأول هو أحرف صغيرة. إذا كانت هناك كلمات متعددة ، يتم رسملة الرسالة الأولى من الكلمات الأخرى بعد الكلمة الأولى ؛
(5) مجال متغير للوظيفة
1. المتغيرات العالمية
تسمى المتغيرات المكتوبة في المجال العالمي المتغيرات العالمية ؛
2. المتغيرات المحلية
وتسمى المتغيرات المحددة داخل وظيفة وإعلانها مع VAR المتغيرات المحلية ؛ إذا تم تعريفها داخل وظيفة ولكن لم يتم الإعلان عنها مع VAR ، فإنها تعتبر متغيرات عالمية.
يجب أن نعرف بوضوح أن تعلم JavaScript يتعلم وظائف مختلفة ، لذلك يجب أن يكون لدينا فهم أعمق للوظائف. خلاف ذلك ، في عملية التعلم المستقبلية ، سوف نواجه تعشيش وظائف مختلفة ، وخلط وظائف مختلفة معًا ، مما سيجعل حقيبتنا الفوضوية. هذه المقالة البسيطة هي فهمي للوظائف. آمل أن تكون هذه الآراء البسيطة مفيدة لك في فهم الوظائف.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.