القائمة الرئيسية

الصفحات

شرح الوظائف أو التوابع functions في لغة الجافا سكريبت

شرح الوظائف أو التوابع functions  في لغة الجافا سكريبت  - نحتاج في كثير من الأحيان إلى تكرار القيام بعمل ما في العديد من أماكن النص. على سبيل المثال ، نحتاج إلى إظهار رسالة جميلة المظهر عندما يقوم الزائر بتسجيل الدخول ، وتسجيل الخروج ، وربما في مكان آخر.

شرح التوابع function في لغة الجافا سكريبت

الوظائف أو التوابع functions هي "اللبنات الأساسية" للبرنامج. إنها تسمح باستدعاء الكود عدة مرات دون تكرار.

لقد رأينا بالفعل أمثلة للوظائف المضمنة ، مثل alert(message) وprompt(message default) و  confirm(question).

لكن يمكننا إنشاء وظائف خاصة بنا أيضًا.

 تعريف التوابع أو الوظائف function

يتم تعريف تابع من خلال الشكل التالي: 

التوابع في لغة جافا سكريبت
حيث يبدأ تعريف التابع عن طريق الكلمة المفتاحية function والتي تخبرنا أننا الآن على وشك تعريف تابع. ومن ثم نقوم بكتابة اسم التابع ويشترط في اسم التابع ما يشترط في اسم المتحول.

ومن ثم نقوم بتمرير عدة متحولات إلى التابع ليقوم بإجراء العمليات على هذه المتحولات ضمن جسم التابع.

أمثلة:

التابع التالي يقوم بإظهار رسالة للمستخدم تقول مرحبا جميعا. وتظهر الرسالة مرتين وذلك لأننا قمنا باستدعاء التابع مرتين بعد تعريفه.

التوابع فى جافا سكربت
يقوم الإستدعاء showMessage()  بتنفيذ رمز التابع الذي يحمل نفس الأسم. هنا سنرى الرسالة مرتين. يوضح هذا المثال بوضوح أحد الأغراض الرئيسية للوظائف: لتجنب تكرار الكود. 

إذا احتجنا في أي وقت إلى تغيير الرسالة أو طريقة عرضها ، يكفي تعديل الشفرة في مكان واحد: الوظيفة التي تخرجها.
 

المتغيرات المحلية Local variables

 
المتغير الذي تم تعريفه داخل التابع يكون مرئيًا فقط داخل تلك ذلك التابع. على سبيل المثال:
 
المتغيرات المحلية Local variables
حيث أن استدعاء التابع alert(message) سوف يؤدي لظهور خطأ كون المتحول message معرف ضمن التابع showMessage فقط. ولا يمكن استعماله خارج هذا التابع.
 

المتغيرات الخارجية Outer variables 

على عكس المتغيرات الداخلية فإننا في حال كان المتحول خارجي يمكن استعماله داخل التابع الذي نقوم بتعريفه دون وجود أي خطأ.
المتحولات الخارجية Outer variables
التابع يملك وصول كامل إلى المتغير الخارجي. يمكنه تعديله أيضًا. على سبيل المثال:  
 
المتغيرات الخارجية
يتم إستخدام المتغير الخارجي فقط في حالة عدم وجود متغير محلي. إذا تم الإعلان عن متغير يحمل نفس الاسم داخل الوظيفة ، فإنه يقوم بتظليل المتغير الخارجي. على سبيل المثال ، في الكود أدناه ، تستخدم الوظيفة اسم المستخدم المحلي. يتم تجاهل الخارج: 
إستخدام المتغير الخارجي فقط في حالة عدم وجود متغير محلي

 المتغيرات التي تمرر للتابع Parameters


يمكننا تمرير بيانات عشوائية إلى وظائف بإستخدام المعاملات (وتسمى أيضاً وسيطات التابع).

في المثال أدناه ، يحتوي التابع على وسيطين هما : from و text.
 
المتغيرات التي تمرر للتابع Parameters
عندما يتم إستدعاء الوظيفة في الأسطر (*) و (**) ، يتم نسخ القيم المعطاة إلى المتغيرات المحلية من والنص ثم تستخدمهم الوظيفة. 

إليك مثال آخر: لدينا متغير من الدالة وقمنا بتمريرها إلى الدالة. يرجى ملاحظة: الوظيفة تتغير من ، لكن التغيير لا يظهر في الخارج ، لأن الوظيفة تحصل دائمًا على نسخة من القيمة:
 
متغيرات تمرر للتابع

القيمة المعادة Returning a value

يمكن للدالة إرجاع قيمة مرة أخرى إلى كود الاستدعاء كنتيجة لتنفيذ هذه الدالة. سيكون أبسط مثال على ذلك هو دالة تجمع قيمتين:


القيمة المعادة Returning a value
من الممكن أن تكون ريترن return في أي مكان فى الداله. عندما يصل التنفيذ إليه ، تتوقف تنفيذ الدالة، وتُعاد القيمة إلى رمز الاستدعاء (المتحول  result النتيجة أعلاه).

قد يكون هناك العديد من تكرارات return في دالة واحدة. على سبيل المثال:

return في أي مكان فى الدالة
من الممكن استخدام الإرجاع بدون قيمة. يؤدي ذلك إلى إنهاء تنفيذ الدالة على الفور. على سبيل المثال:

استخدام الإرجاع بدون قيمة

في الكود أعلاه ، إذا عرض checkAge (age) خطأ ، فلن ينتقل showMovie إلى التنبيه.
 

تسمية التوابع


الوظائف هي أفعال معينة. لذلك فإن اسمهم عادة يكون فعل يجب أن يكون الاسم مختصر ودقيق قدر الإمكان ويصف ما تفعله الدالة.

بحيث يحصل الشخص الذي يقرأ الكود على إشارة إلى ما تفعله الدالة. من الممارسات الشائعة أن تبدأ وظيفة ببادئة لفظية تصف الإجراء بشكل غامض. يجب أن يكون هناك اتفاق داخل فريق العمل على معنى البادئات.

على سبيل المثال ، عادةً ما تظهر الدوال التي تبدأ بـ "show" شيئًا ما. تبدأ الدالة بـ ...
"get ..." - إرجاع قيمة ، 
  "calc ..." - احسب شيئ،
  "create ..." - انشاء شيئ ، 
  "check ..." - تحقق من شيء ما وأعد قيمة منطقية ، إلخ.   
 
تسمية التوابع

reaction:

تعليقات