English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
الدالة في JavaScript هي قطعة من الكود المقصود لتنفيذ عملية أو مهمة معينة.
الدالة هي كود مخصص مكتوب من قبل البرمجي يمكنه تحسين توحيد البرنامج وتحسين كفاءته.
عندما يتم استدعاء دالة JavaScript، يتم تنفيذها.
تعريف الدالةأيضاً يُسمىبيان الدالةاستخدام كلمة المفتاح function، ترتيب الدوال كالتالي:
اسم الدالة
قائمة معلمات الدالة محاطة بأقواس صغيرة ( ) ومفصولة بالكوماس.
جمل تعريف الدالة محاطة بأقواس مزدوجة { }.
هذه هي صيغة الدوال في JavaScript:
دالةُ nameOfFunction(parameter1, parameter2, ..., parameterN) { //كود للتنفيذ }
يمكن أن تحتوي اسم الدالة على أحرف، أرقام، شرطية ورمز الدولار $ (بنفس القواعد التي تنطبق على المتغيرات).
في المثال الأول، سنقوم بتعريف دالة لتسجيل ترحيب في الوثيقة.
دالةُ greet() { document.write("مرحباً، World!"); }اختبار لرؤية‹/›
تعريف الدالة لا يؤدي إلى تنفيذها. تعريف الدالة يُمثل فقط تسمية الدالة وتحديد العمليات التي تتم عند استدعاءها.
يمكنك استدعاء الدالة عن طريق إضافة أقواس () بعد اسم الدالة.
//تعريف دالة greet() دالةُ greet() { document.write("مرحباً، World!"); } //استدعاء الدالة greet() المحددة مسبقًا greet();اختبار لرؤية‹/›
الآن، سنgreet();يمكن تكرار استخدام الكود الموجود داخل الدالة حسب الحاجة.
//تعريف دالة greet() دالةُ greet() { document.write("مرحباً، World!"); } //تكرار استدعاء الدالة greet() المحددة مسبقًا greet(); greet(); greet();اختبار لرؤية‹/›
يمكنك أيضًا استخدام طرق أخرى لاستدعاء الدالة:
عند حدوث أحداث (عند النقر على الزر)
استدعاءه من كود JavaScript
تلقائي (بلا تدخل)
في الجزء التالي من هذا الدليل، ستعلم المزيد عن استدعاء الدوال.
يمكنك تحديد المعلمات عند تعريف دالة لقبول القيم عند تشغيلها.
معلمات الدالة يتم إدراجها في الأقواس () في تعريف الدالة.
//تعريف الدالة دالةُ greet(name) { document.write("مرحباً، " + name); } //دالةُ greet بمعامل "Vishal" greet("Vishal");اختبار لرؤية‹/›
يمكنك تعريف أي عدد من المعلمات حسب الحاجة.
//تعريف الدالة دالةُ الإضافة(num1, num2, num3) { مُعادلةُ الإجمالي = num1 + num2 + num3; document.write(total); } //استدعاء الدالة add(5, 20, 10); // يُنشر: 35 add(-5, 8, 7); // يُنشر: 10اختبار لرؤية‹/›
لكن، يجب تقديم كل معامل مُحدد للدالة عند استدعائها، وإلا سيصبح قيمته غير معروفة.
//تعريف الدالة function showFullname(fName, lName) { document.write(fName + " " + lName); } //استدعاء الدالة showFullname("Kavy", "Mark"); // يُنشر: Kavy Mark showFullname("John"); // يُنشر: John undefinedاختبار لرؤية‹/›
يعمل المعاملون مثل متغيرات الاستبدال في الدالة؛ يتم تقديم القيم التي يتم تقديمها إلى الدالة عند استدعائها (تُدعى المعاملات).
تظهر المعاملات داخل الدالة كمتغيرات محلية.
ستتعرف على المزيد حول معاملات الدوال في الجزء التالي من الدليل.
يمكن للدوال في جافا سكربت استخدام جملة return لإرجاع القيمة إلى سكربت الاستدعاء.
يمكن أن تكون القيمة العائدة من أي نوع، بما في ذلك القوائم والأجسام.
عندما يصل جافا سكربت إلى جملة return، يتوقف التنفيذ في الدالة.
تستخدم الدالة التالية معامل يُدعى الرقم، وتقوم بتقديم معامل مضاعف لنفسه (أي الرقم):
//تعريف الدالة function square(number) { return number * number; } //استدعاء الدالة، القيمة المُستخدمة ستُخزن في x var x = square(5);اختبار لرؤية‹/›
لا يمكن للدالة أن تعود عدة قيم. ولكن يمكنك الحصول على نتيجة مشابهة عن طريق العودة بجمع القيم:
function makeArray() { var myArray = ["Apple", "Mango", "Banana", "Orange"]; return myArray; }اختبار لرؤية‹/›
استخدم الأمثلة أعلاه، لاستدعاء دالة square الموضوع، واستدعاء نتيجة دالة square()
إذا لم تستخدم ()، فإنه سيقوم بتقديم تعريف الدالة بدلاً من نتيجة الدالة:
function square(number) { return number * number; } document.write(square(5)); // يُنشر 25 document.write(square); // يُنشر التعريف الدالةاختبار لرؤية‹/›
على الرغم من أن بيان تعريف الدالة في النص النحوي هو جملة، يمكن أيضًا استخدام الدالةالتعبيرإنشاء الدوال
يمكن تخزين تعبير الدالة في متغير، ويُستدعى دائمًا باستخدام اسم المتغير.
يمكن أن تكون هذه الدوالغير المسمى ; ليس من الضروري أن يكون لها اسم. على سبيل المثال، يمكن تعريف دالة square() كما يلي:
var square = function(number) { return number * number; }; var x = square(5); // x = 25اختبار لرؤية‹/›
مثال آخر:
var sum = function(a, b) { return a + b; }; var x = sum(100, 8); // x = 108اختبار لرؤية‹/›
يُنتهي الأمر بالدالة باستخدام نقطة السطر، لأنها جزء من جملة تنفيذية.
لا يمكن الوصول إلى المتغيرات المحددة في الدالة من أي مكان خارج الدالة، وستصبح متغيرات محلية للدالة.
// لا يمكن استخدامُ هذا الكودُ لـ city function myFunc() { var city = "New Delhi"; // يمكن استخدامُ هذا الكودُ لـ city } // لا يمكن استخدامُ هذا الكودُ لـ cityاختبار لرؤية‹/›
بما أن المتغيرات المحلية يمكن استخدامها فقط داخل الدالة، يمكن استخدام متغيرات بنفس الاسم في دوال مختلفة.
تُنشأ المتغيرات المحلية عند بدء الدالة، وتُحذف عند إكمال الدالة.