نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
JS

منهج JavaScript

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج JavaScript/الحلقات التكرارية: الجزء الثاني (While & Do While Loops)

الحلقات التكرارية: الجزء الثاني (While & Do While Loops)

while loop javascriptdo while javascriptحلقة while بالعربيinfinite loop حلقة لا نهائية

جدول مرجعي سريع

1
النوعوقت فحص الشرطضمان تنفيذ واحد؟
whileقبل كل تكرارلا
do...whileبعد كل تكرارنعم

الشرح

حلقة while تُستخدم عندما لا تعرف مسبقاً عدد مرات التكرار بالضبط، بل تريد الاستمرار في التكرار طالما أن شرطاً معيناً لا يزال true. يُفحص الشرط قبل كل تكرار — إذا كان false من البداية، لن تُنفَّذ الحلقة ولو مرة واحدة.

حلقة do...while مشابهة جداً لكن بفارق جوهري: تُنفِّذ كتلة الكود مرة واحدة أولاً، ثم تفحص الشرط بعدها. هذا يضمن تنفيذ الكود على الأقل مرة واحدة حتى لو كان الشرط false من البداية — مفيدة في حالات مثل عرض قائمة وطلب إدخال من المستخدم على الأقل مرة واحدة قبل التحقق من صحة المدخل.

من أشيع أخطاء المبتدئين نسيان تحديث المتغير المستخدم في الشرط داخل جسم الحلقة، مما يُنتج حلقة لا نهائية (Infinite Loop) تُجمّد المتصفح أو تستهلك الذاكرة بالكامل. لذا يجب دائماً التأكد من وجود خطوة تُقرّب الشرط من أن يصبح false في كل تكرار.

تُستخدم while بكثرة في سيناريوهات مثل قراءة بيانات حتى الوصول لنهاية الملف، أو الانتظار حتى تحقق شرط خارجي (مثل انتظار استجابة من خادم في سياقات معينة)، أو معالجة عناصر من قائمة تتغير ديناميكياً أثناء التنفيذ.

الصياغة (Syntax)

syntax
1// while: يفحص الشرط أولاً
2let i = 0;
3while (i < 5) {
4 console.log(i);
5 i++;
6}
7
8// do...while: ينفذ مرة أولاً ثم يفحص
9let j = 0;
10do {
11 console.log(j);
12 j++;
13} while (j < 5);

أمثلة عملية

مثال 1: عداد تنازلي باستخدام while

عداد تنازلي باستخدام while
1// عداد تنازلي بسيط
2let ثواني = 5;
3while (ثواني > 0) {
4 console.log(ثواني);
5 ثواني--;
6}
7console.log("انطلق!");

مثال 2: do...while لضمان تنفيذ واحد على الأقل

do...while لضمان تنفيذ واحد على الأقل
1// do...while يضمن تنفيذ الكود مرة واحدة على الأقل
2let محاولات = 0;
3let كلمة_المرور;
4do {
5 محاولات++;
6 كلمة_المرور = محاولات === 3 ? "صحيحة" : "خاطئة";
7 console.log(`المحاولة ${محاولات}: ${كلمة_المرور}`);
8} while (كلمة_المرور !== "صحيحة" && محاولات < 5);

نصائح احترافية

  • —تأكد دائماً من وجود سطر يُحدّث الشرط داخل جسم while، وإلا وقعت في حلقة لا نهائية.
  • —do...while مثالية عندما تريد تنفيذ الكود مرة واحدة على الأقل بغض النظر عن الشرط.
  • —إذا كنت تعرف عدد التكرارات بدقة، استخدم for بدلاً من while لوضوح أكبر.
  • —يمكنك إيقاف حلقة while يدوياً من الداخل باستخدام break عند تحقق شرط طارئ.

الدرس السابق

الحلقات التكرارية: الجزء الأول (For Loops)

الدرس التالي

التحكم في الحلقات (Break & Continue)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر