الدوال فى جافا سكريبت | JavaScript Functions – فى هذا الفصل سيتم شرح الدوال فى JavaScript بالتفصيل، مع بعض الأمثلة التوضيحية.


 

الدوال فى JavaScript

 

JavaScript توفر دوال مشابهة لمعظم لغات البرمجة النصية والبرمجة بدون إختلاف.

في JavaScript ، تتيح لك الدالة تحديد كتلة من التعليمات البرمجية لأداء مهمة معينة، ومنحها اسمًا ثم تنفيذها عدة مرات كما تريد.

 

مثال للتوضيح:

function alertMessage() {
    alert("Hello Functions!");
}

alertMessage(); // Here i call function

من فوائد إستخدام الدوال أنه يمكنك إعادة استخدام الكود حيث تقوم بتعريف الكود مرة واحدة ، واستخدمه عدة مرات مع وسيطات مختلفة لإنتاج نتائج مختلفة.


 

بناء جملة دالة جافا سكريبت – Function Syntax

 

يتم تعريف دالة JavaScript بالكلمة الأساسية function، متبوعة باسم الدالة (alertMessage كما فى المثال السابق)، متبوعًا بأقواس ().

يتم وضع الكود المطلوب تنفيذه بواسطة الدالة داخل هذه الأقواس {}.

function nameOfFunction() {
  // code to be executed
}

يمكن أن تحتوي أسماء الدوال على أحرف وأرقام وشرطات سفلية وعلامات الدولار (كما هو الحال مع قواعد المتغيرات).


 

معلمات الدالة – Function Parameter

 

قد تتضمن الأقواس () أسماء معلمات parameters مفصولة بفواصل (,)، والتي سيتم توفيرها بواسطة كود الاستدعاء ويمكن استخدامها داخل الدالة. كالتالى:

/*
** Here $username, $gender, $age are "parameters"
*/

function userInfo($username, $gender, $age) {
    console.log("Your name is: " + $username + " & gender is: " + $gender + " & age is" + $age);
}

userInfo("Hamed Essam", "male", 30); // outputs: Your name is: Hamed Essam & gender is: male & age is 30

وسيطات Arguments الدالة هي القيم التي تتلقاها الدالة عند استدعائها، فى المثال السابق الوسيطات هم (“Hamed Essam”, “male”, 30 ).

يمكن أن تحتوي معلمة الدالة على قيمة من أي نوع بيانات (لأن JavaScript هي لغة برمجة نصية من النوع الديناميكي).

داخل الدالة، تتصرف الوسيطات (parameters) كمتغيرات محلية.


 

إرجاع قيمة الدالة – Function Return Value

 

يمكنك إستخدام كلمة return لإرجاع قيمة معينة، كالتالى:

function sum($num1, $num2) {
    return $num1 + $num2;
}

var result = sum(3, 20);
console.log(result); // outputs : 23

عندما تصل JavaScript إلى عبارة return، ستتوقف الدالة عن التنفيذ.


Advertisements

 

الدوال المتداخلة فى جافا سكريبت – Nested Functions

 

في JavaScript ، يمكن أن تحتوي الدالة على دالة داخلية واحدة أو أكثر.

تقع هذه الدوال المتداخلة في نطاق الدالة الخارجية.

يمكن للدالة الداخلية الوصول إلى متغيرات ومعلمات الدالة الخارجية.

ومع ذلك ، لا يمكن للدالة الخارجية الوصول إلى المتغيرات المحددة داخل الدالة الداخلية.

 

مثال للتوضيح:

function mainFunction($message) {

    function nestedFunction() {
        console.log($message);
    }

    return nestedFunction();
}

mainFunction("Hello World!");

 

الدوال المجهولة فى جافا سكريبت – Anonymous Functions

 

تتيح لنا JavaScript تحديد دالة بدون أي اسم(تسمى هذه الدالة بالدالة المجهولة).

عند إستخدام الدوال المجهولة يجب تعيينها لمتغير. كالتالى:

var sum = function ($num1, $num2) {
    console.log($num1 + $num2);
}

sum(3, 9); // outputs: 12