حلقه for (Loop for)
حلقه for یعنی اجرای تکراری یک کد. سه بخش دارد: شروع، شرط، افزایش. تا وقتی شرط درست باشد، کد می چرخد. مثل شمارش از 0 تا 9 در کلاس، اما خودکار.
ساختار کلی حلقه for
سه عبارت اختیاری داریم: exp1 برای شروع، exp2 شرط اجرا، exp3 تغییر در هر دور.
for (let i = 0; i < 5; i++) {
let text = "The number is " + i + "\n";
console.log(text);
}
نمونه: پیمایش آرایه با for
با یک آرایه ماشین ها، هر نام را جمع می کنیم. سپس نمایش می دهیم.
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let len = cars.length;
let text = "";
for (let i = 0; i < len; i++) {
text += cars[i];
}
console.log(text);
exp1: مقداردهی شروع
می توانی exp1 را حذف کنی. کافی است قبل از حلقه مقدار بدهی.
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let len = cars.length;
let i = 2;
let text = "";
for (; i < len; i++) {
text += cars[i] + "\n";
}
console.log(text);
exp2: شرط اجرا
اگر exp2 نداشته باشی، باید داخل حلقه break بگذاری. وگرنه حلقه تمام نمی شود.
exp3: تغییر در هر دور
می توانی افزایش را داخل بدنه انجام دهی. پس exp3 خالی می ماند.
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let len = cars.length;
let i = 0;
let text = "";
for (; i < len; ) {
text += cars[i] + "\n";
i++;
}
console.log(text);
حوزه متغیر در حلقه (Scope)
با var، متغیر داخل حلقه بیرون را هم تغییر می دهد.
var i = 5;
for (var i = 0; i < 10; i++) {
// some code
}
console.log(i);
اما با let داخل حلقه، بیرون دست نخورده می ماند.
let i = 5;
for (let i = 0; i < 10; i++) {
// some code
}
console.log(i);
گام های تمرین
- یک آرایه بساز. با for همه را چاپ کن.
- exp1 را حذف کن. مقداردهی را قبل انجام بده.
- exp3 را حذف کن. i را داخل بدنه زیاد کن.
- با حلقه while مقایسه کن.
نکته: برای مرور تفاوت، حلقه for را کنار حلقه ها ببین و منطق شرط ها را با عملگرهای منطقی تقویت کن.
جمع بندی سریع
- exp1 مقدار شروع را تعیین می کند.
- exp2 شرط ادامه حلقه است.
- exp3 بعد از هر دور اجرا می شود.
- بدون شرط، حتماً break بگذار.
- let اسکوپ را محدود نگه می دارد.