82 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			82 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | 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) |