انتقل إلى المحتوى الرئيسي

إنهاء

@serverSerrverlesskiy

الإغلاق هو وظيفة - لها حق الوصول إلى وظيفة خارجية - حتى بعد انتهاء الوظيفة الخارجية. يلزم الإغلاق لتوفير وظيفة داخلية مع إمكانية الوصول إلى نطاق وظيفة خارجية️ ، ولكن في نفس الوقت وصول قريب من البيئة الخارجية إلى متغيرات الوظيفة الداخلية⚙️.

Snake

متطلبات إنشاء الإغلاق:

  1. وظيفة خارجية تسمى في الكود.
  2. تحتوي الوظيفة الخارجية على الوظيفة الداخلية.
  3. نتيجة لذلك ، تقوم الوظيفة الخارجية بإرجاع الوظيفة الداخلية.

دعنا نفكر في إنشاء إغلاق باستخدام مثال:

محرر مباشر
النتيجة
Loading...
  1. في المثال ، أنشأنا وظيفة خارجية getFruit;
  2. داخل getFruit خلق وظيفة داخليةshow.
  3. ترجع الدالة getFruit دالة العرض كنتيجة لذلك.
  4. علاوة على ذلك في الكود ، قمنا بتعيين نتيجةgetFruit وظيفة للمتغيرshowFruit.
  5. لأن نتيجة getFruit هي وظيفة ، إذن showFruit لا يصبح متغير, لكن وظيفة.
  6. نتيجة البناء كله هي المتغير fruit, نتيجة البناء كله هي المتغير getFruit, أصبحت مغلقة. الآن يمكننا فقط معرفة قيمة هذا المتغير, لا يمكننا تغييره.

أمثلة على

Math

دعونا نلقي نظرة على المزيد من الأمثلة للفهم.

عداد

العداد هو أبسط مثال للنظر في كيفية عمل الإغلاق.

محرر مباشر
النتيجة
Loading...

عداد محسن

Counter

ونتيجة لذلك ، لن يكون لدينا وظيفة واحدة ⚙️ ، بل عدة وظائف في وقت واحد.

محرر مباشر
النتيجة
Loading...

إغلاق في حلقة

circle

محرر مباشر
النتيجة
Loading...

تذكر العبارة

l

محرر مباشر
النتيجة
Loading...

مجموع

تعتبر عمليات الإغلاق من أهم مفاهيم JavaScript الأساسية التي يجب على كل مطور JS فهمها. يعد فهم عمليات الإغلاق بمثابة نقطة انطلاق لكتابة تطبيقات فعالة وعالية الجودة.

مشاكل؟

Problem

اكتب ل Discord محادثة.

أسئلة:

Question

ما هو الإغلاق؟

  1. البناء
  2. الوظيفة
  3. المفهوم

ما هو الختام على ماذا؟

  1. وظيفة على النطاق
  2. المتغيرات في وظيفة

ماذا عليك أن تفعل للوصول إلى متغير مغلق؟

  1. سوف أصفه وأستخدمه
  2. كان متوفرا
  3. يمكن فقط عرض المتغير

لفهم مقدار ما تعلمته في هذا الدرس ، قم بإجراء الاختبار في mobile application من مدرستنا في هذا الموضوع.

EnglishMoji!

الروابط

  1. Learn JavaScript
  2. MDN Web Docs
  3. Замыкания JavaScript

المساهمون✨

الشكر يعود إلى هؤلاء الأشخاص الرائعين (emoji key):


IIo3iTiv


Dmitriy Vasilev

💵

Resoner2005

🐛 🎨 🖋

Navernoss

🖋 🐛 🎨

EnglishMoji!