Kodokon kodokon.com

الحلقات: for، while، for...of

كرِّر التعليمات دون تكرار نفسك بفضل حلقات for و while و for...of.

7 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

تخيّل أنه عليك عرض رسالة ترحيب لـ 100 مستخدم: إن نسخ السطر نفسه 100 مرة سيكون مُمِلًّا ومُعرَّضًا للأخطاء. إن الحلقة بنية تُكرِّر كتلة من التعليمات عدة مرات. وتوفر JavaScript عدة حلقات؛ لنبدأ بأشهرها: حلقة for.

JAVASCRIPT
for (let i = 1; i <= 3; i++) {
  console.log("Round number " + i);
}
// Prints: Round number 1
// Prints: Round number 2
// Prints: Round number 3
حلقة for تُنفَّذ ثلاث مرات

يُقرأ السطر for (let i = 1; i <= 3; i++) في ثلاثة أجزاء، مفصولة بفواصل منقوطة: البداية (let i = 1 تنشئ عدّادًا باسم i قيمته 1)، والشرط (i <= 3: تستمر الحلقة ما دام هذا الشرط محقّقًا)، والخطوة (i++ تضيف 1 إلى i بعد كل جولة). وتتوقف الحلقة حالما يصبح الشرط غير محقّق.

إن حلقة while أبسط: فهي تُكرِّر كتلتها ما دام شرطها محقّقًا. وتستخدمها عندما لا تعرف عدد التكرارات مسبقًا.

JAVASCRIPT
let batteryLevel = 3;

while (batteryLevel > 0) {
  console.log("Battery: " + batteryLevel);
  batteryLevel = batteryLevel - 1;
}
console.log("Battery empty!");
تُنفَّذ الحلقة ما دام batteryLevel أكبر من 0

وأخيرًا، تمرّ حلقة for...of مباشرة عبر قيم مجموعة، مثل المصفوفة (وهي قائمة من القيم، ستدرسها بالتفصيل في الدرس 5). في كل جولة، يتلقّى المتغير القيمة التالية: دون عدّاد لإدارته.

JAVASCRIPT
const fruits = ["apple", "banana", "cherry"];

for (const fruit of fruits) {
  console.log(fruit);
}
// Prints: apple, then banana, then cherry
تمرّ for...of عبر كل قيمة في المصفوفة

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. كم مرة تُنفَّذ كتلة for (let i = 0; i < 3; i++)؟
    • مرتان
    • 3 مرات
    • 4 مرات
  2. أيّ حلقة تمرّ مباشرة عبر قيم مصفوفة، دون عدّاد؟
    • for...of
    • while
    • if
  3. ماذا يحدث إذا لم يصبح شرط حلقة while غير محقّق أبدًا؟
    • تتوقف الحلقة بعد 1000 جولة
    • تتخطى JavaScript الحلقة
    • تُنفَّذ الحلقة إلى الأبد ويتجمّد البرنامج