JavaScript

JavaScript Function Parameters
عوامل أو معطيات الدوال في لغة جافا سكريبت

في هذا الدرس سوف نتعرف علي ال Parameters وهي التي تستخدم في تحديد العناصر التي سوف يتم تمريرها داخل الدالة ليتم تنفيذ الكود عليها 

التاريخ

11 نوفمبر 2021

الدروس

146

المستوى

العامة

اللغة

انجليزي

المشاهدات

1661

المواضيع

24
الشروحات chevron_left JavaScript Function Parameters chevron_left JavaScript

JavaScript Function Parameters
عوامل أو معطيات الدوال في لغة جافا سكريبت

</> Function Parameters in JavaScript
عوامل الدوال في لغة جافا سكريبت

المعامل Parameter هو متغير يطلق عليه ايضاً function argument وهو حلقة الوصل بين المطور والدوال functions لأن المطور يريد استخدام الدالة لتنفيذ أمر برمجي بداخل الدالة ولكن في كل مرة يطلب من الدالة أن تقوم بأرجاع نتائج مختلفة علي سبيل المثال دالة تقوم بحساب قيميتين y + x الناتج في كل مرة مختلف يمكن أن يرسل المطور للدالة 5 + 2 فالنتاج سيصبح 7 ومره اخري يستدعي نفس الدالة ويطلب منها رقمين مختلفين 3 + 9 وظيفة الدالة هنا الجمع ووظيفة Parameters أن يحفظ قيميتين مختلفتين أو اكثر ويرسلهم الي الدالة لكي تقوم بعمل عمليه حسابية علي رقمين مختلفين في كل مرة.


  • يمكنك تمرير عوامل parameters عند الأعلان declare عن أي دالة function والعوامل قيم سوف تحدد عند أستدعاء الدالة هذة القيم تخزن بمتغيرات ويمكننا إستخدام هذة المتغيرات بداخل الدالة كيفما نشاء.
  • عوامل الدوال Function Parameters هي قيم متغيرة يتم تمريرها بداخل الدالة ليتم تنفيذ الأوامر البرمجية الموجودة في الدالة عليها وأرجاع نتائج مختلفة واداء وظائف مختلفة عن طريق نفس الدالة.
ملاحظات
  • تسمي العوامل Parameters في لغة جافا سكريبت أيضاً Function Arguments.
  • لا يتم تحديد نوع بيانات العوامل Parameters بداخل ال function أو عند إستدعاءالدالة في لغة ال java Script.
  • لا يتم التحقق من عدد العوامل  arguments التي تم ارسالها الي الدالة اي انه يمكنك تمرير عناصر اقل من المطلوب دون حدوث مشاكل في التنفيذ ولكن يمكن ان يكون هناك مشاكل في النتيجة النهائية التي تنتجها الدالة.

</> JavaScript Function Parameters Syntax
طريقة كتابة العوامل داخل الدوال في لغة جافا سكريبت

تذكر عند استخدامك للعوامل Parameters في لغة جافا سكريبت:

  • تكتب العوامل في الدوال Function  بداخل الأقواس () parenthese.
  • نفصل بين كل عامل Parameter وعامل أخر بفواصل comma [,].
  • يمكنك تعيين قيم مختلفة للعوامل Parameter في كل مرة تقوم بأستدعاء الدالة فيها.


بدءًا من الاصداء ECMAScript 2015 ، هناك نوعان جديدان من ال parameters وهم

  • Default Parameters : في JavaScript ، يتم تعيين خصائص الوظائف function parameters  بشكل افتراضي إلى undefined. ومع ذلك ، قد يكون من المفيد في بعض الحالات تعيين قيمة افتراضية مختلفة
  • Rest parameters : يسمح لنا بتمثيل عدد غير محدد من ال arguments وتمريرهم  كمصفوفة array 

ال Parameters و arguments هي العناصر التي نقوم بتمريرها الي الدالة لأجراء وتنفيذ الأكواد التي قمنا بوضعها بداخل الدالة 

function parameters Syntax

طريقة أضافة العوامل مع الدوال في لغة جافا سكريبت.

function functionName(parameter1, parameter2, ...) {
  /* code to be executed */
}

</> JavaScript Function Parameters Example
مثال علي العوامل داخل الدوال في لغة جافا سكريبت

  • قمنا بالأعلان عن دالة بأسم sum إختصار إالي summation.
  • قمنا بتمرير عاملين العامل الأول هو a والعامل الثاني هو b.


وظيفية هذة الدالة:

  • تقوم بحساب قيميتين مختلفتين في كل مرة والقيميتن يتم إرسالهم عند عملية إستدعاء الدالة لتقوم الدالة بمعالجة هذة العوامل.
  • يمكنك استدعاء الدالة اكثر من مرة وفي كل مرة ضع قيمتين متغيرتين لكي تقوم الدالة بنفس العملية ولكن بنتائج مختلفة.
function parameters

نفس الدالة تقوم بأداء وظائف مختلفة ونتائج مختلفة.

function sum(a, b) {
  let total = a + b
  document.write(total + "<br>");
 }
sum(5,10);
sum(99,1);

</> JavaScript Default Parameter Value in Functions
القيم الافتراضية للعوامل داخل الدوال في لغة جافا سكريبت

إذا قمت بتحديد عامل Parameter اثناء الأعلان علي الدالة فيجب عليك عندما تستدعي الدالة أن ترسل لها قيمة المعامل Parameter لكي تطبع أو تقوم بمعالجتة ولكن أذا قمت بأستدعاء الدالة بدون قيمة فسوف يكون للعامل قيمة افتراضية Default وهي لها مجموعة حالات:


  • الحالة الأولي وهي يمكنك أن تضيف قيمة افتراضية اثناء اضافة العامل Parameter فقط عليك ان تتبعة بعلامة التعيين = ثم القيمة بعد المتغير مباشرة.
  • الحالة الثانية وهي يمكنك أن تضيف قيمة افتراضية بداخل الدالة للعامل Parameter فقط عليك ان تضيف العامل ثم تعرف القيمة بداخل الدالة كأي متغير.
  • الحالة الثالثة وهي بدون عمليات حسابية سوف تكون القيمة undefined أي متغير بدون قيمة.
  • الحالة الرابعة وهي بعمليات حسابية سوف تكون القيمة NaN = Not a number أي متغير رقم Number.
الحالة الأولي

الحالة الأولي Default Parameter Value تساوي قيمة محددة.

function myFunction(x = 10) {
  return x;
}
document.write(myFunction());
الحالة الثانية

الحالة الثانية Default Parameter Value تساوي قيمة محددة داخل الدالة.

function myFunction(x) {
  x = 10;
  return x;
}
document.write(myFunction());
الحالة الثالثة

الحالة الثالثة Default Parameter Value تساوي قيمة محددة داخل الدالة أو قيمة اخري في حالة الأستدعاء كان فارغاً.

function myFunction(x) {
  x = x || 5;
  return x;
}
document.write(myFunction());
document.write("<br>");
document.write(myFunction(99));
الحالة الرابعة

الحالة الرابعة Default Parameter Value تساوي undefined.

function myFunction(x) {
  return x;
}
document.write(myFunction());
الحالة الخامسة

الحالة الخامسة Default Parameter Value تساوي NaN.

function myFunction(x,y) {
  return x + y;
}
document.write(myFunction());
ملاحظة
الحالة الأولي Default Parameter Value تساوي قيمة محددة حالة جديدة في أصدار الجافا سكريبت ECMAScript 6.

</> JavaScript Rest Parameter Value in Functions
قيم Rest للعوامل داخل الدوال في لغة جافا سكريبت

العامل من النوع rest parameter هو طريقة للسماح للدوال أن تقبل عوامل كمصفوفة parameter as array تعد هذة الطريقة ديناميكية لكي تقوم الدالة بوظائف متعددة.


معلومات عن Rest parameter في لغة جافا سكريبت:

  • يتم تمرير Rest parameter واحد فقط للدالة.
  • يجب أن يتم تمرير Rest parameter في نهاية العوامل parameters.
  • Rest parameter هو عباة عن مصفوفة متعددة الابعاد multidimensional array.
  • يمكن تمرير اكثر من مصفوفة عن طريق الدالة مع Rest parameter.
  • يتم تحديد Rest parameter عن طريق كتابة ثلاث علامات Dot [...] قبلة بداخل الاقواس Parentheses.
pass Rest parameter

طريقة تمرير Rest parameter مع الدوال functions في لغة جافا سكريبت.

function myFunction(a, b, ...courses) {

}
اكثر من Rest parameter

لا يمكن أرسال اكثر من عامل Rest parameter مع الدوال Functions في لغة جافا سكريبت.

function myFunction(...courses,...courses,...courses) {

}
Rest Parameter كأول عامل

لا يمكن تمرير Rest Parameter كأول عامل مع الدوال في لغة جافا سكريبت.

function myFunction(...courses,a,b) {

}
Rest Parameter في منتصف العوامل

لا يمكن تمرير Rest Parameter في منتصف العوامل مع الدوال في لغة جافا سكريبت.

function myFunction(a,...courses,b) {

}
Access to Rest Parameter

طريقة أستدعاء قيمة من قيم المصفوفة التي تم تمريرها عبر Rest parameter مع الدوال functions في لغة جافا سكريبت.

function myFunction(x,y,...courses) {
  document.write("Current Course is : " + courses[0][3]);
}
myFunction(5,10,["HTML","CSS","PHP","JavaScript"]);
multi array with Rest Parameter

طريقة استخدام اكثر من مصفوفة مع Rest Parameter مع الدوال functions في لغة جافا سكريبت.

function myFunction(x,y,...courses) {
  document.write("Current Course is : " + courses[0][2] + "<br>");
  document.write("Back-End Course : " + courses[1][0]);
}
myFunction(5,10,["HTML","CSS","JavaScript"],["PHP","Laravel"]);
type of with Rest Parameter

التحقق من نوع Rest Parameter عن طريق دالة type of ودالة isArray.

function myFunction(...courses) {
  document.write("Current Course is : " + courses[0][3] + "<br>");
  document.write("Check Rest Parameter Type : " + typeof courses + "<br>");
  document.write("Check Rest Parameter Is array or no't : " + Array.isArray(courses));
}
myFunction(["HTML","CSS","PHP","JavaScript"]);

</> arguments Array inside function in JavaScript
مصفوفة arguments تستخدم مع الدوال والمدمجة مع لغة جافا سكريبت

arguments هي مصفوفة مدمجة مع لغة جافا سكريبت تسخدم فقط داخل الدوال تخزن بداخلها جميع العوامل parameters يمكنك تحدد أي parameter عن طريق رقم index number بهذا الشكل [0]parameter.

Arguments Array

مصفوفة arguments لتحديد عامل واحد أو التعامل معهم داخل جافا سكريبت.

function myFunction(x,y,z) {
  return arguments[1];
} 
document.write(myFunction(5,7,10));
document.write("<br>");
document.write(myFunction(1000,700,350));
Arguments Array Length

مصفوفة arguments لتحديد عدد العوامل داخل الدوال في لغة جافا سكريبت.

function myFunction(x,y,z) {
  return arguments.length;
} 
document.write(myFunction(5,7,10));

</> Parameters pass by value inside function in JavaScript
التلاعب وتبديل قيم العوامل داخل الدوال في لغة جافا سكريبت

  • يمكنك عمل تبديل قيم العوامل Parameters داخل الدوال عن طريق الحيلة وهي أن تقوم بالتلاعب بين المتغيرات بعضها لبعض.
  • يمكنك أن تسبق أستدعاء دالة معينة بمتغيرات بعدد العوامل بداخل هذة الدالة وتضيف عند الاستدعاء هذة المتغيرات, وقيم هذة المتغيرات تساوي = قيم لعوامل  الدالة function parameters.
function Passbyvalue(a, b,x) {
	let z;
	z = b;
	b = a;
	a = z;
	document.write(a + "-" + b + "-" + x);
}
let a = 5;
let b = 10;
Passbyvalue(a, b,77);
معلومات تهمك
  • لا تنسى تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنسى مشاركة الموقع مع أصدقاءك حتى تعمّ الفائدة وتكون سبب في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات