حلقة for
حتى الآن كنت تختار المسار مرة واحدة بـ if و switch. على الصفحة الحقيقية غالباً تحتاج تكرار العمل نفسه: اطبع خمسة أسطر، اجمع أرقاماً، ابنِ قائمة قصيرة. إن نسخت الجملة خمس مرات، أول تعديل يكسر كل المواضع. for يبقي نسخة واحدة ويمرّر عدّاداً عبر الجولات.
كيف تتقدّم حلقة for؟
ما دام الشرط صحيحاً تُعاد كتلة { }. داخل الأقواس ثلاثة أجزاء بفواصل منقوطة: من أين يبدأ العدّاد، حتى متى يستمر، وكيف يتغيّر بعد كل جولة. حين يصبح الشرط خاطئاً تنتهي الحلقة ويكمل البرنامج من السطر التالي.
الأجزاء الثلاثة في رأس الحلقة
📊 قطع for اليومية
| الجزء | قراءة يومية | استخدام شائع |
|---|---|---|
| البداية (init) | ابدأ العدّاد من هنا… | let i = 0 |
| الشرط (condition) | تابع ما دام هذا صحيحاً… | i < 5 |
| التحديث (update) | بعد كل جولة غيّر العدّاد… | i++ |
غالباً يعدّ المبتدئ بعدد صغير اسمه i. الاسم عرف لا قاعدة — يمكن n أو step. إن لم تحدّث العدّاد فقد لا يصبح الشرط خاطئاً أبداً، فتتعلّق الحلقة.
for (let i = 0; i < 5; i++) {
console.log(i);
}
من البداية حتى التوقف
تبدأ من 0. طالما i أصغر من 5 تطبعه ثم تضيف واحداً. ترى في الكونسول 0 إلى 4 — خمس جولات. القيمة 5 لا تُطبع لأن الشرط يفشل أولاً.
اقرأ جولة واحدة بهدوء: شرط → جسم → تحديث → شرط من جديد. التحديث ليس داخل الجسم؛ هو في رأس الحلقة حتى تتقدّم كل جولة بنفس الأسلوب.
for (let i = 1; i <= 3; i++) {
console.log("step " + i);
}
ابدأ من واحد بتسمية أوضح
هنا العدّاد من 1 والشرط i <= 3؛ فترى step 1 ثم step 2 ثم step 3. البدء من صفر أو واحد اختيار تصميم — فقط اجعل الشرط يطابق اختيارك.
let total = 0;
for (let i = 1; i <= 4; i++) {
total = total + i;
}
console.log(total);
ابنِ المجموع جولة بعد جولة
total يبدأ من صفر ويأخذ قيمة i الحالية كل جولة. بعد 1+2+3+4 يصبح 10. الحلقة تلمع حين ينمو الناتج عبر الجولات، لا حين تكون فرعاً واحداً فقط.
for (let i = 0; i < 8; i += 2) {
console.log(i);
}
قفّز خطوتين كل مرة
i += 2 يتقدّم اثنتين كل جولة: 0، 2، 4، 6. خانة التحديث ليست مقتصرة على i++ — أي تغيير صادق يقرّب الحلقة من النهاية مقبول.
let line = "";
for (let i = 1; i <= 3; i++) {
line = line + "n" + i + " ";
}
console.log(line);
الصق القطع أثناء الحلقة
line يبدأ فارغاً وتضيف قطعة كل جولة. بعد ثلاث جولات تحصل على شيء مثل n1 n2 n3. نفس النمط لاحقاً لبناء رسالة الصفحة من أجزاء عدة.
اعرض النتيجة على الصفحة
نفّذ عدّاً قصيراً، ابنِ رسالة، ثم اكتبها في الصفحة.
<!DOCTYPE html>
<html>
<head>
<title>For — page count</title>
</head>
<body>
<p id="out">…</p>
<script>
let msg = "";
for (let i = 1; i <= 4; i++) {
msg = msg + i + " ";
}
let box = document.getElementById("out");
box.textContent = "count=" + msg.trim();
</script>
</body>
</html>
الصفحة تعرض count=1 2 3 4. غيّر الحد الأعلى، حدّث، واقرأ القائمة الجديدة. الدرس التالي مع حلقة while يكرّر أيضاً، لكن شكل فحص الشرط يختلف — حين تعرف خطة العدّاد مسبقاً تبقى for الأداة الأنظف.
جرّب بنفسك
- اكتب
forبشرطi < 5يسجّل0إلى4. - عدّله ليسجّل
1إلى5بشرطi <= 5. - اجمع
1إلى5فيtotalوسجّل الناتج. - اطبع الأعداد الزوجية تحت
10بـi += 2. - ابنِ داخل الحلقة نصاً من ثلاث تسميات (
a،b،c). - في عرض HTML غيّر الحد الأعلى فقط، حدّث، واقرأ
count=.
أخطاء شائعة
- الخطأ بواحد:
i < 5بدلi <= 5(أو العكس) حين يختلف عدد الجولات المقصود - نسيان التحديث (
i++) فيبقى الشرط بلا نهاية - لفّ عمل يكفي له
ifواحد داخل حلقة بلا معنى - تغيير متغير غير الموجود في الشرط
- افتراض أن
iما زال مفيداً بعد الحلقة إن عُرّف بـletداخل الرأس (نطاق الكتلة)
خلاصة
forيكرّر الجسم ما دام الشرط صحيحاً- رأس الحلقة ثلاثة أجزاء: بداية، شرط، تحديث
- ممتازة للعدّ والجمع وبناء نص قصير
- التحديث قد يكون
i++أوi += 2أو أي خطوة واضحة - إن بنت الحلقة رسالة فاعرضها على الصفحة أيضاً
- التالي: حلقة while — تكرار ما دام الشرط قائماً بلا رأس ثلاثي
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى