در حال بارگذاری...

حلقهٔ for

تا اینجا با if و switch مسیر را یک‌بار انتخاب می‌کردید. روی صفحهٔ واقعی اما اغلب همان کار را چندبار لازم دارید: پنج خط چاپ، چند عدد را جمع، یک فهرست کوتاه. اگر همان دستور را پنج‌بار کپی کنید، با اولین تغییر همه‌جا خراب می‌شود. for یک نسخه از کار را نگه می‌دارد و با شمارنده دورها را جلو می‌برد.

حلقهٔ for چطور جلو می‌رود؟

تا وقتی شرط درست باشد، بدنۀ داخل { } دوباره اجرا می‌شود. داخل پرانتز سه تکه با نقطه‌ویرگول می‌نویسید: شمارنده از کجا شروع شود، تا کی ادامه بدهد، بعد از هر دور چطور عوض شود. شرط که غلط شد، حلقه تمام است و برنامه از خط بعد از حلقه ادامه می‌دهد.

سه تکهٔ سرِ حلقه

📊 قطعه‌های روزمرهٔ for

تکه خواندن روزمره کاربرد معمول
شروع (init) شمارنده را از اینجا شروع کن… let i = 0
شرط (condition) تا وقتی این درست است ادامه بده… i < 5
به‌روزرسانی (update) بعد از هر دور شمارنده را عوض کن… i++

مبتدی معمولاً با عدد کوچک به‌نام i می‌شمارد. این اسم عرف است، نه قانون — n یا step هم درست است. اگر شمارنده را هیچ‌وقت عوض نکنید، شرط ممکن است هرگز غلط نشود و حلقه گیر کند.

شمارش ساده با for

javascript
for (let i = 0; i < 5; i++) {
console.log(i);
}

شمارش از شروع تا توقف

از 0 شروع می‌شود. تا وقتی i کمتر از 5 است همان را چاپ می‌کند و یکی اضافه می‌کند. در کنسول 0 تا 4 می‌بینید — پنج دور. 5 چاپ نمی‌شود چون شرط اول رد می‌شود.

یک دور را آرام بخوانید: شرط → بدنه → به‌روزرسانی → دوباره شرط. به‌روزرسانی داخل بدنه نیست؛ در سرِ حلقه است تا هر دور یک‌جور جلو برود.

گام واضح لاگ کن

javascript
for (let i = 1; i <= 3; i++) {
console.log("step " + i);
}

شروع از یک، برچسب واضح‌تر

اینجا شمارنده از 1 است و شرط i <= 3؛ پس سه خط step 1 تا step 3 می‌بینید. شروع از صفر یا یک سلیقهٔ طراحی است — فقط شرط را با همان انتخاب جور کنید.

جمع با for

javascript
let total = 0;
for (let i = 1; i <= 4; i++) {
total = total + i;
}
console.log(total);

جمع را دوربه‌دور بسازید

total از صفر شروع می‌شود و هر دور مقدار فعلی i را می‌گیرد. بعد از 1+2+3+4 می‌شود 10. حلقه وقتی می‌درخشد که نتیجه در طول دورها رشد کند، نه اینکه فقط یک شاخهٔ یک‌باره باشد.

گام دوتایی

javascript
for (let i = 0; i < 8; i += 2) {
console.log(i);
}

گام را دو تا دو تا کنید

i += 2 هر دور دو تا جلو می‌پرد: 0، 2، 4، 6. جای به‌روزرسانی فقط i++ نیست — هر تغییری که حلقه را به پایان نزدیک کند درست است.

چسباندن رشتهٔ کوتاه

javascript
let line = "";
for (let i = 1; i <= 3; i++) {
line = line + "n" + i + " ";
}
console.log(line);

متن را تکه‌تکه بچسبانید

line خالی شروع می‌شود و هر دور یک تکه اضافه می‌کند. بعد از سه دور چیزی شبیه n1 n2 n3 دارید. همین الگو بعداً برای ساختن پیام صفحه از چند بخش به‌کار می‌آید.

نتیجه را روی صفحه ببینید

یک شمارش کوتاه اجرا کنید، پیام بسازید، بعد روی صفحه بنویسید.

شمارش صفحه با for

html
<!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 ابزار تمیز می‌ماند.

خودتان امتحان کنید

  1. با i < 5 یک for بنویسید که 0 تا 4 را لاگ کند.
  2. عوضش کنید تا با i <= 5 مقادیر 1 تا 5 را لاگ کند.
  3. مجموع 1 تا 5 را در total بریزید و نتیجه را لاگ کنید.
  4. با i += 2 اعداد زوج زیر 10 را چاپ کنید.
  5. داخل حلقه رشته‌ای از سه برچسب (a، b، c) بسازید.
  6. در دموی HTML فقط حد بالا را عوض کنید، رفرش کنید، متن count= را بخوانید.

اشتباه‌های رایج

  • یکی کم/زیاد شمردن: i < 5 به‌جای i <= 5 (یا برعکس) وقتی تعداد دور مدنظرتان فرق داشت
  • فراموش کردن به‌روزرسانی (i++) طوری که شرط تمام نشود
  • کاری که یک if کافی است را بی‌خود حلقهٔ یک‌دوره کردن
  • عوض کردن متغیری غیر از آن‌که در شرط است
  • فرض اینکه بعد از حلقه هنوز i به‌درد می‌خورد وقتی با let داخل سرِ حلقه تعریف شده (محدودهٔ بلوک)

خلاصه

  • for تا وقتی شرط درست است بدنه را تکرار می‌کند
  • سرِ حلقه سه تکه دارد: شروع، شرط، به‌روزرسانی
  • برای شمارش، جمع، و ساختن رشتهٔ کوتاه عالی است
  • به‌روزرسانی می‌تواند i++ یا i += 2 یا گام واضح دیگر باشد
  • وقتی حلقه پیام می‌سازد، نتیجه را روی صفحه هم نشان دهید
  • بعدی: حلقهٔ while — تکرار تا وقتی شرط برقرار است، بدون سرِ سه‌تکه

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
8
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود