دستورات شرطی در JS
if و else و else if دستورات شرطی هستند.
if {
// بلوک کد
} else if {
// بلوک کد
} else {
// بلوک کد
}
با کمک دستورات شرطی می توانیم یک بلوک کد را در شرایط خاص اجرا کنیم.
دستور شرطی | توضیحات |
if | به معنی اگر - در صورت وقوع شرط (true بودن) بلوک کد اجرا می شود. |
else if | به معنی همچنین اگر - در صورت اجرا نشدن شرط های قبلی (if و else if های قبلی) و وقوع شرط (true بودن) بلوک کد اجرا می شود. |
else | به معنی درغیراین صورت - در صورتی که شرط های قبلی (if و else if های قبلی) رخ ندهد، این بلوک اجرا می شود. |
دستور if
دستور if یک دستور شرطی است. و در صورتی که شرط رخ دهد (نتیجه true)، بلوک کد اجرا می شود.
if (condition) {
// بلوک کد
}
x = 25;
y = 15;
if (x > y) {
document.getElementById("demo").innerHTML = "بله";
}
نکته: در یک ساختار شرطی، فقط یک بار از دستور if می توانیم استفاده کنیم. اگر از if جدید استفاده کنیم به این معنی است که if قبلی بدون else if و else تمام شده است.
دستور else if
دستور else if یک دستور شرطی است.
در صورتی که if و else if های قبلی رخ ندهد و همچنین شرط else if کنونی رخ دهد (نتیجه true)، بلوک کد اجرا می شود.
if (condition1) {
// بلوک کد
} else if (condition2) {
// اگر شرط بالا رخ ندهد
// و این شرط رخ دهد اجرا می شود
} else if (condition3) {
// اگر شرط های بالا رخ ندهد
// و این شرط رخ دهد اجرا می شود
} else {
// بلوک کد
}
نکته: دستور else if همیشه بعد از if و قبل از else نوشته می شود.
در نمونه کد زیر دو عدد یکسان را در یک شرط با هم مقایسه و متن را تغییر می دهیم.
x = 25;
y = 25;
if (x > y) {
document.getElementById("demo").innerHTML = "بله";
} else if (x == y) {
document.getElementById("demo").innerHTML = "خیر، مساوی هستند.";
}
نکته: در یک ساختار شرطی، بی نهایت بار از دستور else if می توانیم استفاده کنیم.
x = 15;
y = 25;
if (x > y) {
document.getElementById("demo").innerHTML = "بله";
} else if (x == y) {
document.getElementById("demo").innerHTML = "خیر، مساوی هستند.";
} else if (x < y) {
document.getElementById("demo").innerHTML = "خیر";
}
نکته: ساختار شرطی به ترتیب اجرا می شود. در صورت برخورد به اولین true، بقیه ساختار چک نمی شود.
در نمونه کد زیر همانطور که مشاهده می کنید ساختار 2 و ساختار 3 هر دو true هستند ولی فقط ساختار 2 اجرا و باقی ساختار شرطی مورد بررسی قرار نمی گیرد.
if (15 > 20) { // ساختار 1
document.getElementById("demo").innerHTML = "ساختار 1";
} else if (15 > 10) { // ساختار 2
document.getElementById("demo").innerHTML = "ساختار 2";
} else if (15 > 5) { // ساختار 3
document.getElementById("demo").innerHTML = "ساختار 3";
}
دستور else
در صورت رخ ندادن دستور if و else if، دستور else اجرا می شود.
if (condition) {
// بلوک کد
} else if (condition) {
// بلوک کد
} else {
// در صورت اجرا نشدن شروط بالا
// این بلوک اجرا می شود
}
x = 15;
y = 25;
if (x > y) {
document.getElementById("demo").innerHTML = "بله";
} else if (x == y) {
document.getElementById("demo").innerHTML = "خیر، مساوی هستند.";
} else {
document.getElementById("demo").innerHTML = "خیر";
}