Switch Case در جاوا اسکریپت

همانطور که در درس قبلی جاوا اسکریپت دیدیم ما میتوانیم از شرط های متوالی توسط  if...else…if استفاده کنیم به هر حال این بهترین راه حل برای ایجاد شرط های پشت سرهم نیست مخصوصا زمانی که تمام شرط های شما برای یک متغیر واحد تعریف میشود . مثلا زمانی که نام یک دانش آموزش را چک میکنید تا ببینید بین ده نام موجود در سیستم کدام یک است ؟

از نسخه ی جاوا اسکریپت 1.2 شما میتوانید از switch  بجای شرط های if پشت سر هم استفاده کنید در ادامه شما میبینید که switch چقدر راحت تر از if...else if های متوالی است . 

 

فلوچارت switch case جاوا اسکریپت : 

در تصویر زیر شما  میبینید که چطور switch کار میکند و حالت های مختلف را بررسی میکند 

آموزش switch case جاوا اسکریپت

 

آموزش switch case در جاوا اسکریپت : 

 

داستان switch case از این قرار است که شما یک متغیر واحد را دریافت میکند و روی آن بررسی های مختلفی را انجام میدهید و برای حالت های مختلف کارهای بخصوصی را انجام میدهید . 

برای مثال شما یک عدد دریافت میکنید و کل اعداد 1 تا 50 را بررسی میکنید ببینید کدام یک از آنها است و برای هر کدام کار خاصی را انجام میدهید . 

کدهای استاندارد استفاده از switch case در جاوا اسکریپت در زیر آمده است :

switch (expression) {
   case condition 1: statement(s)
   break;
   
   case condition 2: statement(s)
   break;
   ...
   
   case condition n: statement(s)
   break;
   
   default: statement(s)
}

 

دستور break پایان هر یک از حالت ها را نشان میدهد که باعث خروج کلی از switch میشود . درصورتی که برای هر یک از case ها دستور break نوشته نشود بین case های مختلف عمل OR اتفاق میوفتد و ممکن است دو حالت اجرا شود ! 

 

مثال زیر توجه کنید : 

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var grade = 'A';
            document.write("Entering switch block<br />");
            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 />")
            }
            document.write("Exiting switch block");
         //-->
      </script>      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

 

خروجی کدهای بالا : 

Entering switch block
Good job
Exiting switch block
Set the variable to different value and then try...

 

برای اینکه متوجه دستور break درون switch شوید یک مثال هم زدیم که در آن break استفاده نکردیم 

مثال : 

<html>
   <body>      
      <script type = "text/javascript">
         <!--
            var grade = 'A';
            document.write("Entering switch block<br />");
            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 />")
            }
            document.write("Exiting switch block");
         //-->
      </script>      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

 

نتیجه : 

Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block
Set the variable to different value and then try...

 

. اتمام .