معرفی دستور شرطی if...else و کاربردهای مختلف آن
از دستورات شرطی برای انجام دستوراتی به شرط برقراری یک رابطه دیگر استفاده می شود. در طراحی صفحات وب بسیار پیش می آید که می خواهیم در شرایط خاصی صفحه یک رفتار مشخص داشته باشد و در موارد دیگر رفتار صفحه تفاوت داشته باشد. در این مواقع می توانیم از دستور شرطی if استفاده کنیم. با این دستور مشخص می کنیم اگر شرط خاصی برقرار بود یک عمل خاص انجام شود. ساختار این دستور به شکل زیر است :
دستور شرطی if
{
دستوری که در صورت درستی شرط اجرا می شود در اینجا قرار می گیرد
}
به یک مثال برای دستور if توجه کنید :
if (test == true) {
alert('شما دکمه مورد نظر را کلیک کردید و این پیام به نمایش در آمد');
}
برای اینکه کد بالا را آزمایش کنید لینک زیر را کلی کنید و در پیامی که نمایش داده می شود دکمه OK را کلیک کنید. اگر دکمه Cancel را کلیک کنید شرط بالا برقرا نمی شود و بدون اجرا شدن دستور شرطی صفحه مثال باز می شود.
برای مشاهده مثال بالا در عمل اینجا را کلیک کنید.
دستور شرطی if...else
برخی مواقع ممکن است بخواهیم دستور شرطی یک شرط را چک کند تا در صورت برقرار بودن آن شرط یک فرمان خاص را اجرا کند و در صورتی که شرط برقار نبود یک فرمان دیگر را به اجرا در آورد. در این موارد می توانیم از دستور if به همراه else استفاده کنیم. ساختار این دستور به شکل زیر است :
دستوراتی که در صورت برقراری شرط اجرا می شوند.
}
else {
دستوراتی که در صورت عدم برقراری شرط اجرا می شوند.
}
در کد بالا ابتدا شرط بررسی می شود و در صورت برقراری آن دستورات مربوطه اجرا می شوند ولی در صورتی که شرط برقرار نباشد دستورات مربوط به قسمت else اجرا می شود.
if (yourmark > 10) {
alert('شماره ای که وارد کرده ای از 10 بزرگتر است');
}
else {
alert('عبارتی که شما وارد کرده اید از 10 بزرگتر نیست!');
}
برای مشاهده نتیجه مثال بالا لینک زیر را کلیک کنید و در کادری که نمایش داده می شود یک عدد از 0 تا 20 وارد کنید و دکمه OK را کلیک کنید.
مثال استفاده از دستور if...else
استفاده از دستور if..else if...else (دستورات شرطی تو در تو)
ممکن است در نظر داشته باشیم تا در صورت برقراری یک شرط یک دستور خاص اجرا شود و در صورتی که شرط برقرار نبود شرط دیگری بررسی شود و دستور مربوط به آن اجرا شود و در صورتی که هیچ یک از شرطهای قبل برقرار نبود دستور دیگری اجرا شود. در این مواقع می توانیم از دستور else if در دستور if...else قبلی استفاده کنید. به صورت زیر :
دستوراتی که در صورت درستی شرط اول اجرا می شوند
}
else if (condition 2) {
دستوراتی که در صورت درستی شرط دوم اجرا می شوند
}
else {
دستوراتی که زمانی که هیچکدام از شرطها صحیح نباشد اجرا می شوند
}
در این روش محدودیتی از نظر تعداد شرطها وجود ندارد و می توانیم به تعداد نامحدود از دستور else if استفاده کنیم ولی در مواردی که تعداد این شرطها خیلی زیاد می شود بهتر است به جای این روش از دستور switch که بعداً توضیح داده خواهد شد استفاده کنیم.
در اینجا مثال قبل را با کمی تغییر برای این روش استفاده می کنیم :
if (yourmark > 0 && yourmark < 100 ) {
alert('شماره وارد شده بین 0 تا 100 است');
}
else if (yourmark > 100) {
alert('شماره وارد شده از 100 بزرگتر است');
}
else {
alert('عبارت وارد شده یا 0 است یا به جای عدد از حروف استفاده کرده اید');
}
برای مشاهده نتیجه مثال دستور if...else if...else اینجا را کلیک کنید.