--- title: For Loop localeTitle: لحلقة --- ### بناء الجملة `for ([initialization]); [condition]; [final-expression]) { // statement } ` جافا سكريبت `for` بيان يتكون من ثلاث عبارات وبيان: ## وصف * التهيئة - تشغيل قبل تنفيذ الأول في الحلقة. يستخدم هذا التعبير عادة لإنشاء عدادات. يتم تحديد نطاق المتغيرات التي تم إنشاؤها هنا للحلقة. بمجرد الانتهاء من الحلقة هو التنفيذ يتم تدميرها. * condition - التعبير الذي يتم التحقق منه قبل تنفيذ كل تكرار. إذا تم حذف هذا التعبير ، فسيتم تقييم هذا التعبير على "true". إذا تم تقييمه إلى true ، فسيتم تنفيذ عبارة الحلقة. إذا تم تقييمه إلى false ، فستتوقف الحلقة. * التعبير النهائي - التعبير الذي يتم تشغيله بعد كل عملية تكرار. عادة ما تستخدم لزيادة عداد. ولكن يمكن استخدامه لتقليل عداد أيضا. * statement - تكرار الرمز في الحلقة يمكن حذف أي من هذه العبارات الثلاثة أو البيان. للحلقات المستخدمة عادة لحساب عدد معين من التكرار لتكرار العبارة. استخدم عبارة `break` للخروج من الحلقة قبل تقييم تعبير الشرط إلى false. ## المخاطر المشتركة **تجاوز حدود صفيف** عند الفهرسة عبر مصفوفة عدة مرات ، من السهل تجاوز حدود الصفيف (على سبيل المثال ، حاول أن ترجع العنصر الرابع في صفيف مكون من 3 عناصر). ` // This will cause an error. // The bounds of the array will be exceeded. var arr = [ 1, 2, 3 ]; for (var i = 0; i <= arr.length; i++) { console.log(arr[i]); } output: 1 2 3 undefined ` هناك طريقتان لإصلاح هذا الرمز. اضبط الشرط إما على `i < arr.length` أو `i <= arr.length - 1` ### أمثلة تكرار عبر الأعداد الصحيحة من 0-8 `for (var i = 0; i < 9; i++) { console.log(i); } output: 0 1 2 3 4 5 6 7 8 ` الخروج من حلقة قبل تعبير الشرط غير صحيح `for (var elephant = 1; elephant < 10; elephant+=2) { if (elephant === 7) { break; } console.info('elephant is ' + elephant); } output: elephant is 1 elephant is 3 elephant is 5 ` ### موارد آخرى * [MDN - للإدلاء بالبيانات](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)