مقدمة في الدوال ECMAScript
- الصفحة السابقة جملة switch
- الصفحة التالية مفهوم arguments
ما هي الدالة؟
الدالة هي مجموعة من الأوامر التي يمكن تشغيلها في أي وقت وملف.
الدالة هي جزء أساسي من ECMAScript.
يتم إعلان الدالة بهذه الطريقة: كلمة مفتاح function، اسم الدالة، مجموعة من المعلمات، والكود الذي سيتم تنفيذه ضمن الأقواس.
قواعد النص الأساسية للدالة تبدو هكذا:
function functionName(arg0, arg1, ... argN) { statements }
مثال:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
كيف يتم استدعاء الدالة؟
يمكن تفعيل الدالة من خلال إضافة اسم الدالة وضمن الأقواس معادلة المعلمات، إذا كانت هناك عدة معلمات.
إذا كنت ترغب في استدعاء الدالة المذكورة أعلاه، يمكنك استخدام الشيفرة التالية:
sayHi("David", "Nice to meet you!")
استدعاء الدالة sayHi() أعلاه ينتج نافذة تحذير. يمكنكجرب هذا المثال بنفسك.
كيف تعود الوظيفة القيمة؟
وظيفة sayHi() لم تكن تعود أي قيمة، لكن لم يكن من الضروري إعلانها بشكل خاص (مثل استخدام void في Java).
ليس من الضروري إعلان القيمة بشكل واضح إذا كانت الوظيفة تحتوي على قيمة. كل ما يتطلب هو استخدام عميل return متبوعًا بالقيمة التي تريد العودة بها.
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
يُعطى لـ sum وظيفة العودة قيمة وتُنقل إلى متغير:
var iResult = sum(1,1); alert(iResult); //يظهر "2"
مفهوم آخر مهم هو أن الوظيفة تتوقف فور تنفيذ جملة return، مثلما هو الحال في Java. لذلك، لن يتم تنفيذ الكود بعد جملة return.
مثالًا، لن تظهر نافذة التحذير في الكود التالي:
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
يمكن أن تحتوي الوظيفة على عدة جمل return، مثلما هو موضح أدناه:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } return iNum2 - iNum1; } }
استخدمت الوظيفة أعلاه لتحقيق العودة لفرقتي العددية. من أجل تحقيق ذلك، يجب طرح العدد الأكبر من العدد الأصغر، لذا يجب استخدام جملة if لتحديد ما إذا كان يجب تنفيذ جملة return.
إذا لم يكن هناك قيمة عودة للوظيفة، يمكن استدعاء عميل return بدون أي متغيرات، للخروج من الوظيفة في أي وقت.
مثال:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
في هذا الكود، إذا كان sMessage يساوي "bye"، فإن النافذة التحذيرية لن تظهر أبدًا.
ملاحظة:إذا لم يكن هناك قيمة عودة واضحة للوظيفة، أو تم استدعاء جملة return بدون أي متغيرات، فإن القيمة الفعلية التي تعود هي undefined.
- الصفحة السابقة جملة switch
- الصفحة التالية مفهوم arguments