دستورات مقدماتی Java Script

ساختار کنترلی switch :

ار اين ساختار در زمانی استفاده می شود که بخواهيم بر حسب مقادير مختلف يک متغير يا عبارت خاص ، دستورات متفاوتی اجرا شود .
شکل کلی استفاده از اين ساختار به صورت زير است :

switch    ( نام يک متغير يا يک عبارت )
{
  case    مقدار 1 :
  case 1 دستورات مربوط به
  case    مقدار 2 :
  case 2 دستورات مربوط به
  .
  .
  .
  .


  case    n مقدار :
  case n دستورات مربوط به
  default :

دستورات پيش فرض ساختار که در صورت عدم برقراری مقادير تمام case های فوق ، اجرا خواهند شد  
}

نحوه عملکرد اين ساختار به شرح زير است :
ابتدا در پرانتز مقابل واژه کليدی switch ، يک متغير يا عبارت اعلام می شود . همچنين در هر دستور case ، يک مقدار مرتبط با آن متغير نيز تعيين می شود . برنامه مقدار متغير را ( که از قبل توسط يک تابع يا دستور مقدار دهی شده است ) را با مقدار تعيين شده برای هر case به ترتيب مقايسه کرده و در صورت برابر بودن آنها ، دستورات آن case و case های بعد از آن را اجرا می کند . در واقع دستورات تا زمان رسيدن به يک دستور break اجرا می شوند .
نکته : برای جلوگيری از اجرای case های بعدی همراه با case ای که اجرا می شود ، بايد در پايان دستورات هر case از واژه کليدی break استفاده کرد . برای دريافت توضيحات بيشتر ، به قسمت توضيح دستور break در پايين صفحه برويد .
قسمت default ، دستورات پيش فرض ساختار را تعيين می کند ، که در صورت عدم برقراری مقادير تمام case های ساختار ، دستورات آن قسمت اجرا خواهد شد .

نکات مهم :

  1. نوع متغير تعيين شده در قسمت switch و مقدارهای هر يک از case ها بايد با هم يکسان و از يک نوع باشند .
  2. به تعداد مورد نياز می توان از دستور case در ساختار switch استفاده کرد .
  3. تعيين قسمت default در ساختار switch ، اختياری است و می تواند تعيين نشود .
  4. مقدار هيچ دو case متفاوتی ، نبايد با هم يکسان باشد .

مثال : در مثال زير دو کادر متن و يک دکمه فرمان قرار داده شده است . کادر متن اول يک متن يا عدد از کاربر دريافت کرده و با کليک بر روی دکمه فرمان و فراخوانی تابع ( ) hello ، خروجی در کادر متن دوم نمايش داده می شود .
عملکرد تابع ( ) hello به شرح زير است :
اين تابع مقدار کنترل کادر متن اول يعنی txtinput ، را در متغير matn ذخيره کرده و سپس در يک ساختار switch ،بر حسب مقادير مختلف خروجی را در کادر متن دوم يعنی txtresult نمايش می دهد .
توجه : در اينجا به دليل عدم استفاده از دستور break در پايان دستورات هر case با اجرای هر کدام از case های مثال ، دستورات بقيه case ها نيز اجرا می شود . بنابراين همواره خروجی ما در اين حالت خروجی قسمت default است .

Example
< input type="text" id="txtinput " / >
< input type="button" name="clickme" onclick="hello( )" value="click me !" / >
< input type="text" id="txtresult" / >
< script type="text/javascript" >
  function hello( )
    {
      var matn = txtinput.value ;
      switch (matn)
      {
        case "1":
        txtresult.value = "one" ;
        case "2":
        txtresult.value = "two";
        case "3":
        txtresult.value = "three";
        default:
        txtresult.value = "bigger than 3";
      }
    }
< /script >
کد
txtinput : txtresult :
خروجی


دستور break :

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

switch    ( نام يک متغير يا يک عبارت )
{
  case    مقدار 1 :
  case 1 دستورات مربوط به
  break ;
  case    مقدار 2 :
  case 2 دستورات مربوط به
  break ;
  .
  .
  .
  .


  case    n مقدار :
  case n دستورات مربوط به
  break ;
  default :

دستورات پيش فرض ساختار که در صورت عدم برقراری مقادير تمام case های فوق ، اجرا خواهند شد  
}

مثال : در مثال زير ، مثال قسمت قبل را با دستور break بازنويسی کرده ايم . همانطور که در خروجی مشاهد می کنيد ، در اين حالت به دليل استفاده از دستور braek در پايان هر case ، فقط دستورات آن case اجرا شده و از اجرای دستورات case های ديگر جلوگيری می شود . برای مشاهده خروجی در کادر متن txtinput متنی را وارد کرده و سپس بر روی دکمه فرمان کليک کنيد .

Example
< input type="text" id="txtinput " / >
< input type="button" name="clickme" onclick="hello( )" value="click me !" / >
< input type="text" id="txtresult" / >
< script type="text/javascript" >
  function hello( )
    {
      var matn = txtinput.value ;
      switch (matn)
      {
        case "1":
        txtresult.value = "one" ;
        break ;
        case "2":
        txtresult.value = "two";
        break ;
        case "3":
        txtresult.value = "three";
        break ;
        default:
        txtresult.value = "bigger than 3";
      }
    }
< /script >
کد
txtinput : txtresult :
خروجی


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نظر خودتان درباره این صفحه را با ما در میان بگذارید :

آیا مطالب این صفحه برای شما مناسب و مفید بود ه است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟