٢.٦ ملخص¶
لنلخّص ما تعلّمناه في هذا القسم.
ما الدالة؟¶
الدالة كتلة شيفرة يمكن إعادة استخدامها مرات متعددة في البرنامج.
قد تستقبل الدالة معاملًا أو أكثر، وتعالج القيم لإنتاج قيمة مُرجعة.
يمكن استدعاء الدالة باسمها من المواضع التي تكون متاحة فيها ضمن النطاق.
function functionName(param1, param2,..., paramN){
// Your function code
return value;
}
//Calling the function
functionName(arg1, arg2, ..., argN);
مبدأ DRY¶
مبدأ «لا تكرّر نفسك» (DRY) يعني تجنّب كتابة الشيفرة نفسها مرارًا. ابحث عن طريقة لإعادة استخدامها، مثل الحلقات والدوال.
الدوال المجهولة¶
الدالة المجهولة دالة بلا اسم.
var functionExp = function(param1, param2,..., paramN){
// Your function code
return value;
}
//Calling the function
functionExp(arg1, arg2, ..., argN)
متى نستخدم الدوال المجهولة؟¶
- حين نحتاج دالة لا نعتزم استخدامها في موضع آخر من الشيفرة.
- حين تريد تنفيذ الدالة فور إنشائها.
- حين تستخدمها بصيغة IIFE وتريد إبقاء متغيراتها محلية.
IIFE¶
اختصار IIFE يعني «تعبير دالة يُستدعى فورًا»، وهو أسلوب لتنفيذ الدالة فور تعريفها.
(function(){
// Your function code ;
})();
الدوال السهمية¶
تتيح الدوال السهمية صياغة مختصرة للدوال المجهولة، ولها أيضًا اختلافات سلوكية سنناقشها لاحقًا، مثل this. صياغتها هي: (param1, param2, param3) => // Function Statements
التحويل الضمني للأنواع¶
Number(value) تحوّل القيمة إلى عدد إن أمكن؛ وإلا تُرجع NaN، أي نتيجة عددية غير صالحة.
String(value) تحوّل القيمة إلى سلسلة نصية.
NaNتمثّل نتيجة عددية غير صالحة في JavaScript. نوع NaN هو number. ويمكنك التحقّق منها NaN باستخدام isNaN(value)
نطاق المتغيرات في JavaScript¶
النطاق يحدّد مواضع الوصول إلى متغير في الشيفرة.
النطاق العام هو النطاق الخارجي المتاح للنطاقات الداخلية، ما لم يحجب متغيرٌ محلي اسمًا عامًا.
المتغيرات المحلية تُعرَّف داخل الدالة وتتبع نطاقها.
سلسلة النطاقات: يبدأ البحث عن المتغير داخل النطاق المحلي ثم يتدرّج إلى النطاقات الخارجية حتى العام. إذا لم يُعثر عليه، يحدث ReferenceError.
الإغلاقات (Closures)¶
الإغلاق دالة تحتفظ بإمكانية الوصول إلى متغيرات نطاقها الخارجي.
يمكن لدالة الإغلاق الوصول إلى:
1. the variables declared within it.
2. the variables declared in the outer function.
3. the global variables.
النطاق المعجمي للدالة يتحدّد بموضع تعريفها، ويشمل متغيراتها ومتغيرات النطاقات المحيطة بها.
function func1(num1){
function func2(num2){
return num1 * num2;
}
return func2;
}
//func2 has access to num1
رائع! لنتعلّم المصفوفات في القسم التالي.