تعلم البرمجة باستخدام JavaScript


الدرس: العمل على الوظائف


الصفحة السابقة
في الجزء الثاني من هذه الدورة ، تعلمت أساسيات التطوير. دعنا نواصل الوظائف.

افهم الوظائف



و ظيفة هي كتلة من التعليمات البرمجية التي قمت بتعيين اسم لها. عند استدعاء هذه الوظيفة ، فأنت تقوم بتنفيذ التعليمات البرمجية التي تحتوي عليها. على سبيل المثال ، في شاشة تسجيل مقاطع الفيديو ، رأيتني أتصل بالوظيفة console.log()  ، والتي تحتوي على كود للطباعة على وحدة التحكم ولكن يمكنك إنشاء أي وظيفة بنفسك:


function afficherDeuxValeurs(valeur1, valeur2) {

      console.log('القيمة الأولى:' + valeur1);

      console.log('القيمة الثانية:' + valeur2);

}

// نقوم بتنفيذ الوظيفة

afficherDeuxValeurs(12, 'Hello');

// نجد في وحدة التحكم
// > القيمة الأولى:12 

// > القيمة الثانية:Bonjour 

 
تحتاج العديد من الوظائف إلى متغيرات للقيام بعملها. عندما تنشئ أو تعلن عن دالة ، فإنك تشير إلى قائمة المتغيرات التي تحتاجها لأداء وظيفتها: أنت تحدد معلمات الوظيفة.

بعد ذلك ، عندما تستدعي الوظيفة ، فإنك تعيّن لها قيمًا لمعلماتها. القيم هي وسيطات الاستدعاء.

أخيرًا ، يمكن أن تعطيك وظيفتك نتيجة: قيمة إرجاع . نفترض أن لديك دالة تحسب عدد الكلمات في سلسلة:

  • ستكون المعلمة عبارة عن سلسلة تحسب الكلمات منها ؛
  • ستكون الوسيطة هي أي سلسلة يتم تعيينها لوظيفتك عند استدعائها ؛
  • ستكون القيمة المعادة هي عدد الكلمات.
لنبدأ بدالة بسيطة جدًا تضيف أرقامًا.

تدرب على حساب المعدل


JavaScript
انتقل إلى محرر CodePen هذا .
قبل بدء التمرين ، سنراجع مفهومين فقط: حساب المعدل ​​وكيفية تصفح الجدول.

احسب المعدل


عندما يكون لدينا مجموعة من القيم ، يتم حساب المعدل ​​في 3 خطوات:

  • نضيف جميع القيم (التي سنسميها    sommeValeurs  ) ؛
  • نحسب عدد القيم التي لدينا (سنسميها    nombreValeurs  ) ؛
  • نحسب المعدل ​​عن طريق العمل  moyenne = sommeValeurs / nombreValeurs  .

تصفح المصفوفة

عندما يكون لدينا مصفوفة (على سبيل المثال   monTableau  ) نستخدم الحلقة for of .

مثلا :


for (let elementDeTableau of monTableau) {

console.log(elementDeTableau); // اعرض كل عنصر على حدة

}
 
يمكنك التعامل مع    elementDeTableau  كما تراه مناسبًا (على سبيل المثال إضافتها إلى مصفوفة أخرى ، إضافتها بمتغير عام ، إلخ).

يتيح تطبيق streaming للمستخدمين تقييم المسلسل من 5 نجوم. قام زميلك في العمل ببناء المكون لعرض معدل ​​الدرجات لكل سلسلة ، لكنه يحتاج منك أن تكتب الوظيفة التي ستحسب هذا المعدل

يوضح أن الدالة يجب أن تأخذ مصفوفة من الأرقام كوسيطة ، وتعيد رقمًا يتوافق مع معدل ​​الدرجة المحسوبة.

اتبع الخطوات التالية:

  1. في المكان المناسب في إعلان الوظيفة ، اختر اسمًا لمعامل وظيفتك. تذكر أن هذه ستكون مجموعة من الأرقام.
  2. لحساب المعدل ​​، نجمع كل القيم معًا ، ثم نقسمها على عدد القيم.
  3. أنشئ متغيرًا يخزن مجموع كل الأرقام في المصفوفة. قم بتهيئته بقيمة صفر.
  4. مع العلم أن المعلمة المستلمة عبارة عن مصفوفة من الأرقام ، استخدم حلقة for لإضافة كل رقم في المصفوفة إلى المتغير الخاص بك    somme  .
  5. أنشئ ثابتًا يحتوي على نتيجة المجموع النهائي مقسومًا على عدد القيم في المصفوفة المتلقاة كوسيطة.
  6. اجعل الوظيفة ترجع النتيجة النهائية.
  7. المكافأة: لا يبدو أن السلسلة الثالثة ، Les Insectes de L'Isla Clara ، تعمل بشكل صحيح. في الواقع ، لم يتم تصنيفها بعد ، لذا لا تحتوي المصفوفة التي تم تمريرها على أي قيمة.

الحل المقترح


انت قد انتهيت ؟ هنا CodePen جديد مع حل.

فيما يلي بعض التفسيرات الإضافية:

تبدأ الوظيفة بالكود التالي:


if(ratings.length === 0){ 

return 0;

}
 
شرح: نريد أن نأخذ متوسط ​​القيم في الجدول    ratings  . ولكن إذا كان مجموعة فارغة، ونحن نريد لإرجاع القيمة 0. الخاصية    length  من    ratings  بالتالي يجعل من الممكن لمعرفة طول المصفوفة ثم جعل حالة وفقا لذلك.

ثم لدينا الكود التالي:


let sum = 0;

  for (let rating of ratings) {

    sum += rating;

  }
 
شرح: الغرض من هذا الكود هو جمع كل عناصر المصفوفة. للقيام بذلك ، نقوم بإنشاء متغير    sum  بالقيمة الأولية 0. ثم نتصفح المصفوفة    ratings  ولكل عنصر نضيف القيمة مع القيمة    sum  ويتم تخزين النتيجة فيه    sum  . بمجرد تنفيذ كل هذا الكود ،    sum  تحتوي بالتالي على مجموع كل القيم في المصفوفة.

أخيرًا ، لدينا الكود التالي:


return sum / ratings.length;
 
الشرح : لدينا الآن المتغير    sum  الذي يحتوي على مجموع كل عناصر المصفوفة ، والتعبير    ratings.length  الذي يعطي عدد عناصر المصفوفة. بهذه العناصر ، نعيد حساب المعدل.

باختصار



لقد تعلمت في هذا الفصل:

  • ما هي الوظيفة ، وكيفية التصريح عن واحدة وكيفية استدعاءها ؛
  • ما هي المعلمات والوسيطات وقيم الإرجاع ؛
  • كتابة دالة تتكرر عبر مصفوفة من الأرقام لحساب معدلها ؛
في الفصل التالي ، سنركز على نوع الوظيفة المرتبطة بالفئة: الطرق.