نماد سایت تیک۴

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

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

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

توجه:  Condition  =  شرط یا شروط         Statment  =  دستور یا دستورات

۱)  if   ( Condition )   Statment:

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

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

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

  {

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

  }

مثال: در مثال زیر متغیر عددی IntNum یکبار با عددی بیش از ۱۰ و یکبار با عددی کوچکتر از ۱۰ مقدار دهی شده است . شرط دستور if این است ، که در هنگام بزرگتر بودن IntNum از عدد ۱۰ پیغام “This Number is bigger than 10” و در هنگام کوچکتر بودن آن از عدد ۱۰ ، هیچ خروجی چاپ نشود . به مثال دقت کنید:

در حالت اول به دلیل بزرگتر بودن عدد IntNum از ۱۰ ، پیغام خروجی بر روی صفحه چاپ می شود.

< script type="text/javascript" >

  var  IntNum  = ۱۸

  if ( IntNum > 10 )

    {

      document.write (" This Number is bigger than 10 ")

    }

< /script >

در حالت دوم به دلیل کوچکتر بودن عدد IntNum از ۱۰ ، هیچ پیغام خروجی بر روی صفحه چاپ نمی شود.

< script type="text/javascript" >

  var  IntNum  = ۸

  if ( IntNum > 10 )

    {

      document.write (" This Number is bigger than 10 ")

    }

< /script >

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

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

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

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

  {

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

  }

else

  {

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

  }

مثال: در مثال زیر متغیر عددی IntNum یکبار با عددی بیش از ۱۰ و یکبار با عددی کوچکتر از ۱۰ مقدار دهی شده است . شرط دستور if این است ، که در هنگام بزرگتر بودن IntNum از عدد ۱۰ پیغام “This Number is bigger than 10” و در هنگام کوچکتر بودن آن از عدد ۱۰ ، پیغام “This Number is smaller than 10” چاپ شود . به مثال دقت کنید:

در حالت اول به دلیل بزرگتر بودن عدد IntNum از ۱۰ ، پیغام خروجی قسمت if بر روی صفحه چاپ می شود.

< script type="text/javascript" >

  var  IntNum  = ۱۸

  if ( IntNum > 10 )

    {

      document.write (" This Number is bigger than 10 ")

    }

  else

    {

      document.write ("This Number is smaller than 10")

    }

< /script >

در حالت دوم به دلیل کوچکتر بودن عدد IntNum از ۱۰ ، پیغام قسمت else بر روی صفحه چاپ می شود.

< script type="text/javascript" >

  var  IntNum  = ۸

  if ( IntNum > 10 )

    {

      document.write (" This Number is bigger than 10 ")

    }

  else

    {

      document.write ("This Number is smaller than 10")

    }

< /script >

عملگر شرطی:

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

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

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

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

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

var name = ( x > 10 ) ? sam : david

در مثال بالا اگر مقدار متغیر x از ۱۰ بیشتر باشد ، مقدار متغیر name برابر sam و در صورت کوچکتر بودن مقدار x از ۱۰ ، name برابر david می شود.

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

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

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

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

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

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

  {

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

  }

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

  {

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

  }

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

  {

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

  }

.

.

.

else

  {

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

  }

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

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

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

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

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

شکل عملکرد این مثال به صورت زیر است:

رویداد کلیک دکمه فرمان تابع ( ) ifclause را که در قسمت < head > قرار دارد ، را فراخوانی می کند . در این تابع یک دستور if سه شرطی قرار داده شده است ، که مقدار متغیر matn را ارزیابی کرده و در صورتی که مقدار آن برابر ۱ باشد ، عبارت one ، در صورت ۲ بودن عبارت two ، در صورت ۳ بودن عبارت three و در صورتی که مقدار آن به غیر از یکی از موارد فوق باشد ، عبارت bigger than 3 را نمایش می دهد.

نکات مهم : نکات زیر در مثال با شماره مشخص شده اند.

خاصیت value در یک کادر متن به متن موجود در آن کنترل اشاره می کند . در اینجا ما متن موجود در کنترل txtinput را در متغیر matn ذخیره کرده ایم.

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

< html >

  < head >

    < title > عنوان صفحه < /title >

    < script type="text/javascript" >

      function       ifclause ( )              ابتدای تعریف تابع

      {

        var matn ;            تعریف متغیر

  ۱    var matn = txtinput.value ;            قرار دادن متن کادر متن در متغیر

        if (matn == '1')

            document.write ("one")

        else if ( matn =='2')

            document.write ( "two" )

        else if ( matn == '3' )

            document.write ( "three" )

        else

            document.write ( "Bigger than three" )

      }

    < /script >

  < /head >

  < body >

    < input type="text" id="txtinput" / >            تعریف کادر متن

 ۲  < input type="button" id="btnclick" onclick="ifclause( )" value="click me" / >             تعریف دکمه فرمان

    < /body >

< /html >
خروج از نسخه موبایل