دستور switch case

از یک switch رو میتونیم به به جای چند if استفاده کنیم.

این یک روش قابل تشریح تر برای مقایسه variable با مقادیر مختلف هست.

syntax دستور switch:

میتونه یک یا چند بلوک و یک مقدار پیشفرض اختیاری را داشته باشد.

مثل کد زیر:

بررسی میشود که مقدار x دقیق با اولین مورد از case ها به صورت دقیق مساوی باشد.

هر کدام از case ها به ترتیب بررسی میشوند.

درصورتی که برابری پیدا شود. switch کد متناظر case را تا زمانی که به break نرسد اجرا میکند.

درصورتی که با هیچکدام از case ها منطبق نباشه بخش default اجرا میشه.

 

یه مثال از switch

در اینجا switch مقایسه با case ها  را شروع میکند.

در مرحله اول با ۳ مقایسه میکند اگر رد بشه سپس به ۴ که میرسه مقدار a با ۴ مساوی هست.

کد های case 4 رو تا زمانی که به نزدیک ترین break برسه اجرا میکنه.

 

در صورتی که break در case وجود نداشته باشد کد ها تا زمانی که به اولین braek میرسند بدن اینکه case بررسی بشه اجرا میشن.

یه مثال بدون break رو ببینیم :

در مثال بالا از case 4 به پایین اجرا میشه.


هر عبارتی میتونه switch/case باشه

هر دوی آنها به ما این اجازه رو میدن که هر عبارتی رو قرار بدیم.

به عنوان مثال :

مقدار +a میشه ۱ و وقتی با b+1 مقایسه میشه در صورت برابری کد case متناظر اجرا میشه.


case های گروهی

برای چندین case میتونیم از کد مشترک استفاده کنیم.

برای مثال میخواهیم برای زمانی که مقدار switch ، ۳یا ۵ بود یه کد رو اجرا کن:

حالا در صورتی که a ، هر کدام از موارد ۳و۵ باشه پیام های یکسانی نشون میده.

این یکی از قابلیت هایی break هست که در صورتی که بخواهیم استفاده کنیم باید break رو ننویسیم.

 

نوع مهم است

مقادیر باید مطابق با هم باشند.

مثلا کد زیر را در نظر بگیریم:

برای مقادیر ۰ , ۱ , ۲ مشکلی ندارد.

اما به دلیل اینکه خروجی prompt رشته هست مقدار ‘۳’ با ۳ مساوی نیست و قسمت default اجرا میشه.

 

منبع : javascript.info

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *