switch
دستور switch یکی دیگر از دستورات شرطی جاوااسکریپت است که چندین شرط را برای متغیرها مقایسه می کند تا نتایج مختلف بدست بیاید. در حقیقت دستور switch از تکرار if else جلوگیری می کند. در مواردی که شرطها و نتایج آنها کم هستند می توانید از دستور if else استفاده کنید اما برای شرطهای زیاد بهتر است switch را بکار برید تا کد شما منظم تر باشد.
ادامه مطلب را بخوانید...
تنها مشکلی که این دستور دارد اینست که از نسخه javascript 1.2 به بعد از آن پشتیبانی شده که ممکن است بعضی از مرورگرهای قدیمی با این دستور مشکل داشته باشند، ولی در ایران مشکلی نیست چون مطمئناً به علت استفاده رایگان از مرورگرها، دیگر کسی را پیدا نخواهید کرد که مرورگر قدیمی داشته باشد.
دستور سوئیچ مانند if دارای قسمتهایی است، که اجازه دهید یک مثالی را بیان کنم و سپس به توضیح بخشهای مختلف آن بپردازم.
می خواهیم یک صفحه درست کنیم که به محض ورود کاربر به آن، آنروز هفته را در صفحه نمایش دهد:
خب حالا بپردازیم به توضیح کد تا ببینیم که چه اتفاقی افتاده است. ابتدا توسط شئ Date ، تاریخ و زمان سیستم را در یک متغیر بنام d ذخیره کردیم و سپس در خط بعدی توسط متد getDay این شئ ، عدد روز هفته را از سیستم بدست آوردیم و در متغیر weekday ذخیره کردیم. دقت کنید که این متد عدد برمیگرداند نه خود روزهای هفته را و در نظر داشته باشید که مفسر جاوااسکریپت روز اول هفته را یکشنبه میداند و عدد 0 را به آن تعلق میدهد و روز دوشنبه را عدد یک و به همین ترتیب تا آخرین روز هفته که شنبه باشد عدد 6 را میدهد.
اکنون نوبت به بررسی شرط رسیده که می خواهیم از دستور سوئیچ استفاده کنیم. ابتدا خود دستور را می نویسیم یعنی همان کلمه switch و سپس یک پرانتز باز می کنیم تا متغیری که باید در شرایط مختلف بررسی شود را در آن بنویسیم. برای نظم اسکریپت یک آکلاد هم باز می کنیم ولی در آخر این مجموعه آنرا می بندیم.
case
همانطور که مشاهده می کنید از کلمه case بجای if else استفاده می کنیم و حالت مختلف شرط را در جلوی آن می نویسیم و سپس علامت : می گذاریم. در حقیقت ما اینجا به مفسرجاوااسکریپت می گوییم که اگر متغیر ما که روزهای هفته است برابر با صفر بود، نتیجه این می شود که باید کلمه Sunday را در صفحه چاپ کنی، در غیر اینصورت برو حالت بعدی یعنی case بعدی را مقایسه کن.
break
دستور break یکی از بخشهای switch است که به مفسر جاوااسکریپت می فهماند که در کجا قسمت case تمام می شود و یک قسمت دیگر شروع می شود، در حقیقت از تداخل قسمتهای مختلف جلوگیری می کند. دقت کنید که شما هم باید آنرا قبل از شروع case بعدی بنویسید.
default
دستورات case را همینطور ادامه می دهید تا به جایی برسیم که کلیه حالتها بررسی شده باشد و به عنوان آخرین حالت که ممکن است پیش بیاید ما یک نتیجه ای را در نظر می گیریم، یعنی در حقیقت else آخر می باشد. در اینجا چون مثال ما روزهای هفته است و از هفت روز عادی هفته نمی تواند خارج باشد، آخرین روز را که شنبه باشد برای این حالت در نظر گرفتیم و مفهوم آن اینطور است که 6 روز هفته را بررسی کن اگر هیچ کدام از آنها نبود، روز شنبه را برای نتیجه اعلام کن.
و در آخر هم آکلاد باز شده را می بندیم تا پایان این مجموعه از دستور سوئیچ مشخص شود.
در نظر داشته باشید که دستورات شرطی بسیار کاربرد دارند و حتی ممکن است در یک اسکریپت چندین بار از این دستورات استفاده کنید.
نظرات شما عزیزان:
تشکر
من امروز اولين بار هست که با وبلاگ شما آشنا شدم فکر ميکنم پربار باشد.
دنبال آموزش جاوا بودم که به وبلاگ شما برخوردم. حالا اگه جزوه مفيدي در رابطه با آموزش جاوا اگه داشتي اگه لطف کني برام ميل کني ممنون مي شم.
بازم ممنونم از شما و خسته نباشيد بابت زحمات زيادي که برا اين وبلاگ مي کشي.