شما اینجا هستید

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

ساختار دستوری switch امکان ارزیابی یک عبارت را با چندین مقدار به برنامه میدهد. اگر عبارت مورد ارزیابی با یکی از مقادیری که در ساختار سوییچ که به صورت برچسبی استفاده شده برابر بود، برنامه ای که در ادامه آن مقدار آمده اجرا میشود. ساختار سوئیچ به شکل زیر است:

switch (expression) {

  case label_1:

    statements_1

    [break;]

  case label_2:

    statements_2

    [break;]

    ...

  default:

    statements_def

    [break;]

}

 

در ابتدا برنامه به دنبال برچسبی که مقدارش با عبارت یکسان باشد میگردد و پس از یافتن آن کنترل برنامه را به آن برچسب میدهد و ادامه برنامه ار آن اجرا میگردد. اگر برچسبی با عبارت یکسان نبود، برنامه به دنبال دستور پیشفرض (default) میگردد و اگر آن را پیدا کند، کنترل را به آن انتقال میدهد و دستورات درون برچسب default اجرا میگردد. اگر برچسب پیشفرض وجود نداشته باشد، اجرای برنامه از انتهای دستور سوئیچ ادامه پیدا میکند. توسط قرداد از پیش تعیین شده برچسب default  آخرین برچسب در دستور سوییچ است، اما میتوان آن را در جای دیگر نیز قرار داد.

دستور اختیاری break در انتهای دستورات درون هر یک از case ها قرار میگیرد و پس از اجرای دستورات درون case سبب اجرای برنامه از دستورات پس از  switch میگردد. اگر در انتهای دستورات case از break استفاده نکنیم اجرای برنامه از دستور بعدی درون سوییچ ادامه پیدا میکند.

مثال

در مثال زیر، اگر fruittype برابر با Bananas باشد، برنامه مقدار را با مورد Bananas تطبیق میدهد و دستورات مربوطه را اجرا میکند. هنگامی که با break مواجه میشود، برنامه به سوییچ پایان میدهد و دستورات بعد از دستورات switch را اجرا میکند. اگر break از قلم افتاده باشد، مورد Cherries مورد بررسی قرار میگیرد و ممکن است دستورات درون آن هم اجرا شوند.

switch (fruittype) {

  case "Oranges":

    console.log("Oranges are $0.59 a pound.");

    break;

  case "Apples":

    console.log("Apples are $0.32 a pound.");

    break;

  case "Bananas":

    console.log("Bananas are $0.48 a pound.");

    break;

  case "Cherries":

    console.log("Cherries are $3.00 a pound.");

    break;

  case "Mangoes":

    console.log("Mangoes are $0.56 a pound.");

    break;

  case "Papayas":

    console.log("Mangoes and papayas are $2.79 a pound.");

    break;

  default:

   console.log("Sorry, we are out of " + fruittype + ".");

}

console.log("Is there anything else you'd like?");

 

 

افزودن دیدگاه جدید

دیدگاه

  • تگ‌های HTML مجاز: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.
  • نشانی صفحه‌ها وب و پست الکترونیک بصورت خودکار به پیوند تبدیل می‌شوند.

Plain text

  • تگ‌های HTML مجاز نیستند.
  • نشانی صفحه‌ها وب و پست الکترونیک بصورت خودکار به پیوند تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.
كد امنيتي
این پرسش برای جلوگیری از ارسال اسپمهای اتوماتیک است.