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

معرفی عبارت شرطی switch case در جاوااسکریپت

آموزش جاوااسکریپت به زبان ساده

سلام خدمت دوستان و کاربران سایت میزفا ؛

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

آشنایی با ساختار switch case  :

حالا ما  در این جلسه با یک ساختار شرطی دیگه به نام  switch case استفاده می کنیم که کاربردی شبیه else…if  دارد ولی بهینه تر هست و معمولا زمانی بیشتر کاربرد دارد که که بخواهیم چند مقدار متفاوت با یک مقدار یک متغیر بسنجیم.

فلوچارت زیر منطق کلی این ساختار را نمایش می دهد:

 

آموزش جاوااسکریپت-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)
}

توضیح:

  • ابتدا برنامه وارد ساختار 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.');
}

فک نمی کنم این مثال خیلی نیاز به توضیح داشته باشه چون در واقع شکل دیگه ای از مثال های بالا هست.

 

امیدوارم تا به این جا مطالب دوره آموزش جاوا اسکریپت و طراحی سایت برای شما دوستان و کاربران عزیز سایت میزفا مفید و موثر بوده باشه.

موفق باشید.

برچسب ها

امین عزیزی‌پور

دانشجوی مهندسی نرم افزار هستم. مدتی است پیرامون طراحی وب فعالیت می کنم و خوشحال هستم از این که بستری مهیا شده تا بتونم دانسته هام رو بروز نگه دارم، امیدوارم مطالبی که به اشتراک گذاشته میشه مفید باشن. "لطف کنید پیشنهادات و انتقادات خودتون رو با ما مطرح کنید."

نوشته های مشابه

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

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

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر