سرفصلهای پست
آموزش جاوااسکریپت به زبان ساده
سلام خدمت دوستان و کاربران سایت میزفا ؛
در جلسه قبل با حالت های مختلف ساختار else..if آشنا شدیم و همانطور که می دانیم معمولا برای انجام دستورات شرطی ما راه حل ها متفاوتی پیش رو داریم و لزوما ساختار else…if بهترین ساختار موجود نیست .
آشنایی با ساختار switch case :
حالا ما در این جلسه با یک ساختار شرطی دیگه به نام switch case استفاده می کنیم که کاربردی شبیه else…if دارد ولی بهینه تر هست و معمولا زمانی بیشتر کاربرد دارد که که بخواهیم چند مقدار متفاوت با یک مقدار یک متغیر بسنجیم.
فلوچارت زیر منطق کلی این ساختار را نمایش می دهد:
نحوه نگارش :
switch (expression) { case condition 1: statement(s) break; case condition 2: statement(s) break; ... case condition n: statement(s) break; default: statement(s) }
توضیح:
- ابتدا برنامه وارد ساختار switch cace می شود .
- مقدار عبارت درون switch با مقادیر case ها مقایسه و ارزیابی می شود.
- اگر عبارت درون switch با مقادیر یکی از case ها برابر و یکسان بود دستورات مربوط به همان case اجرا میشود.
- و سپس دستور break اعمال می شود.
به مثال زیر توجه کنید :
<html> <body> <script type="text/javascript"> <!-- var grade='A'; switch (grade) { case 'A': document.write("Good job<br />"); break; case 'B': document.write("Pretty good<br />"); break; case 'C': document.write("Passed<br />"); break; case 'D': document.write("Not so good<br />"); break; case 'F': document.write("Failed<br />"); break; default: document.write("Unknown grade<br />") } </script> </body> </html> output //Good job
آشنایی با دستور break :
دستور break به طور کلی از ادامه اجرای حلقه switch case جلوگیری میکند .
یعنی در مثال بالا هنگامی که عبارت درون عبارت switch با مقادیر یکی از caseها برابر شد بعد از اجرای دستورات مربوطه نوبت به اجرای دستور break می رسد
دستور break باعث میشود از بررسی بقیه case هایی که دیگر نیازی به آزمایش آن ها نیست جلوگیری شود و اصطلاحا برنامه از حلقه switch case خارج می شود .
آشنایی با کلید واژه default :
اگر عبارت درون switch با هیچ کدام از مقادیر case ها یکسان و مطابقت نداشت ، دستورات قسمت default اجرا می شوند
در واقع در صورت یکسان نبودن دستور default مشخص می کند کدام دستور باید اجرا شود به عبارت دیگر دستور پیش فرض ساختار را تعیین می کند .
اگر دستور break نباشد چه می شود؟
به مثال زیر توجه کنید:
<html> <body> <script type="text/javascript"> <!-- var grade='A'; switch (grade) { case 'A': document.write("Good job<br />"); case 'B': document.write("Pretty good<br />"); case 'C': document.write("Passed<br />"); case 'D': document.write("Not so good<br />"); case 'F': document.write("Failed<br />"); default: document.write("Unknown grade<br />") } //--> </script> </body> </html> output // Good job // Pretty good // Passed // Not so good // Faile // Unknown grade
در این مثال از دستور break استفاده نشده و می بنیم که دستورات همه case ها اجرا می شوند.
کد مشترک برای چندین case :
برای فهم موضوع به قطعه کد زیر توجه کنید:
var Animal = 'Giraffe'; switch (Animal) { case 'Cow': case 'Giraffe': case 'Dog': case 'Pig': document.write('This animal will go on Noah\'s Ark.'); break; case 'Dinosaur': default: document.write('This animal will not.'); }
فک نمی کنم این مثال خیلی نیاز به توضیح داشته باشه چون در واقع شکل دیگه ای از مثال های بالا هست.
امیدوارم تا به این جا مطالب دوره آموزش جاوا اسکریپت و طراحی سایت برای شما دوستان و کاربران عزیز سایت میزفا مفید و موثر بوده باشه.
موفق باشید.