آموزش طراحی سایت

این وبلاگ ، شامل آموزش کامل جاوا اسکریپت می باشد که توسط گروه غرب نت تهیه شده است.

آموزش طراحی سایت

این وبلاگ ، شامل آموزش کامل جاوا اسکریپت می باشد که توسط گروه غرب نت تهیه شده است.

ساختارهای شرطی در جاوا اسکریپت

ساختارهای شرطی در جاوا اسکریپت :

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

بر حسب شرایط می توان از یکی از ساختارهای دستوری زیر استفاده کرد :

1 )  if   ( Condition )   Statment :

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

شکل کلی استفاده از این ساختار به صورت زیر است :

 

if   ( شرط یا شروط )

  {

    دستورات مورد نظر که در صورت برقرار بودن شرط ها اجرا می شوند

  }

مثال :

< script type="text/javascript" >
  var  IntNum  = 18
  if ( IntNum > 10 )
    {
      document.write (" This Number is bigger than 10 ")
    }
< /script >

2 )   if   ( Condition )   Statment 1   else   Statment 2 :

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

شکل کلی استفاده از این ساختار به صورت زیر است :

 

if   ( شرط یا شروط )

  {

    دستوراتی که در صورت بر قرار بودن شرط یا شروط اجرا می شوند

  }

else

  {

    دستوراتی که در صورت عدم بر قراری شرط یا شروط اجرا می شوند

  }

عملگر شرطی :

دستور if تک شرطی را مانند یک عملگر می توان به صورت زیر نیز نوشت .

در این حالت برنامه شرط معرفی شده در پرانتز را چک کرده و در صورت درست بودن آن شرط ، مقدار 1 و در صورت درست نبودن آن مقدار 2 را به متغیر نسبت می دهد .

شکل کلی استفاده از این ساختار به سورت زیر است :

نام متغیر = ( شرط ) ؟    مقدار 1   :   مقدار 2

variable name = ( condition ) ? value 1 : value 2 ; دستور if تک شرطی را مانند یک عملگر می توان به صورت زیر نیز نوشت

در این حالت برنامه شرط معرفی شده در پرانتز را چک کرده و در صورت درست بودن آن شرط ، مقدار 1 و در صورت درست نبودن آن مقدار 2 را به متغیر نسبت می دهد .

شکل کلی استفاده از این ساختار به سورت زیر است :

 

نام متغیر = ( شرط ) ؟    مقدار 1   :   مقدار 2

variable name = ( condition ) ? value 1 : value 2 ;

3 ) if   ( Condition 1 )   Statment 1   else if   ( Condition 2 )   Statment 2   else   Statment 3 :

از این ساختار زمانی استفاده می شود که حالت های شروط مورد نظر بیش از یک حالت مختلف است ، که در صورت بر قرار بودن هر گروه از شرط های مورد نظر ، می خواهیم دستورات خاص آن شرط ها اجرا شوند .

در این ساختار ، شرط اول در دستور if ابتدا تعریف شده و هر یک از گروه شرط های دیگر به وسیله یک دستور else if تعیین می شود . در آخر نیز واژه کلیدی else و دستورات مربوط با آن قرار می گیرد ، که در صورت عدم بر قراری تمام گروه شرط های تعیین شده ، دستورات قسمت else اجرا می شوند .

در این ساختار چنانچه هر یک از شرط های یک دستور if یا else if درست باشند ، دستورات مربوط به آن اجرا شده و برنامه از کنترل و اجرای سایر شرط های دیگر خودداری می کند . چنانچه هیچ یک از گروه شرط های تعیین شده درست نباشند ، دستورات بخش else در پایان ساختار اجرا می شوند .

شکل کلی استفاده از این ساختار به صورت زیر است :

 

if   ( گروه شرط های شماره 1 )

  {

    دستوراتی که در صورت بر قرار بودن گروه شرط های 1 اجرا می شوند

  }

else if   ( گروه شرط های شماره 2 )

  {

    دستوراتی که در صورت بر قرار بودن گروه شرط های 2 اجرا می شوند

  }

else if   ( گروه شرط های شماره 3 )

  {

    دستوراتی که در صورت بر قرار بودن گروه شرط های 3 اجرا می شوند

  }

.

.

.

else

  {

    دستوراتی که در صورت عدم بر قراری تمام گروه شرط های فوق اجرا می شوند

  }

 

نکته 1 : به تعداد مورد نیاز می توان در این ساختار به وسیله دستور else if شرط و دستورات جدید تعریف کرد .

نکته 2 :استفاده از کروشه در قسمت دستورات شرط if ، فقط در زمانی که دستورات مورد نظر بیش از یک خط هستند ، ضروری است .

نکته 3 : تعیین قسمت else در ساختار فوق اختیاری بوده و می تواند تعریف نشود .

نکته 4 : در زمانی که تعداد حالت های شروط بسیار زیاد هستند ، بهتر است از ساختار Switch استفاده کرد .

ساختار کنترلی 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 استفاده کرد .

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

 

نکات مهم :

    نوع متغیر تعیین شده در قسمت switch و مقدارهای هر یک از case ها باید با هم یکسان و از یک نوع باشند .

    به تعداد مورد نیاز می توان از دستور case در ساختار switch استفاده کرد .

    تعیین قسمت default در ساختار switch ، اختیاری است و می تواند تعیین نشود .

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

 

مثال : در مثال زیر دو کادر متن و یک دکمه فرمان قرار داده شده است . کادر متن اول یک متن یا عدد از کاربر دریافت کرده و با کلیک بر روی دکمه فرمان و فراخوانی تابع ( ) hello ، خروجی در کادر متن دوم نمایش داده می شود .

عملکرد تابع ( ) hello به شرح زیر است :

این تابع مقدار کنترل کادر متن اول یعنی txtinput ، را در متغیر matn ذخیره کرده و سپس در یک ساختار switch ،بر حسب مقادیر مختلف خروجی را در کادر متن دوم یعنی txtresult نمایش می دهد .

توجه : در اینجا به دلیل عدم استفاده از دستور break در پایان دستورات هر case با اجرای هر کدام از case های مثال ، دستورات بقیه case ها نیز اجرا می شود . بنابراین همواره خروجی ما در این حالت خروجی قسمت default است .

< 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 >

دستور 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 های فوق ، اجرا خواهند شد  
{