منبع این مثال تعاملی در یک مخزن GitHub ذخیره می شود. اگر می‌خواهید در پروژه نمونه‌های تعاملی مشارکت کنید، لطفاً https://github.com/mdn/interactive-examples را شبیه‌سازی کنید و یک درخواست جذب برای ما ارسال کنید.

دستور if (شرط) شرط 1 عبارتی که صدق یا نادرست در نظر گرفته می شود. بیانیه 1 بیانیه ای که در صورت صدق بودن شرط اجرا می شود. می تواند هر دستوری باشد، از جمله دستورات if تو در تو. برای اجرای چند دستور، از یک دستور بلوک ((...)) برای گروه بندی آن عبارات استفاده کنید. برای اجرای هیچ دستوری، از یک دستور خالی استفاده کنید. بیانیه2 بیانیه ای که در صورت false بودن شرط و وجود عبارت else اجرا می شود. می تواند هر دستوری باشد، از جمله دستورات بلوک و دستورات if تودرتو. شرح

چند عبارت if...else را می توان برای ایجاد عبارت if دیگری تودرتو کرد. توجه داشته باشید که هیچ کلمه کلیدی elseif (در یک کلمه) در جاوا اسکریپت وجود ندارد.

If (شرط 1) عبارت 1 else if (شرط 2) گزاره 2 else if (شرط3) عبارت3 ... else دستورN

برای دیدن این که چگونه این کار می کند، اگر لانه به درستی تورفتگی داشته باشد، اینگونه به نظر می رسد:

If (شرط 1) عبارت 1 else if (شرط 2) گزاره2 other if (شرط3) ...

برای اجرای چند دستور درون یک بند، از یک دستور بلوک ((...)) برای گروه بندی آن عبارات استفاده کنید. به طور کلی، استفاده از دستورات بلوک، به ویژه در کدهایی که شامل دستورات if تو در تو می شود، تمرین خوبی است:

اگر (شرط) (گزاره‌های 1) else (گزاره‌های2)

مقادیر بدوی بولی درست و نادرست را با درستی یا نادرستی شی بولی اشتباه نگیرید. هر مقداری که نادرست، تعریف نشده، تهی، 0، -0، NaN یا رشته خالی ("") نباشد، و هرشیء، از جمله یک شی بولی که مقدار آن نادرست است، هنگامی که به عنوان شرط استفاده می شود، صدق در نظر گرفته می شود. مثلا:

Varb = جدید بولی (نادرست)؛ اگر (ب) // این شرط صادق باشد

مثال هایی با استفاده از if...else if (cipher_char === from_char) (نتیجه = نتیجه + to_char؛ x++; ) else (نتیجه = نتیجه + clear_char؛ ) استفاده از else if

توجه داشته باشید که سینتکس if دیگری در جاوا اسکریپت وجود ندارد. با این حال، تو می توانیآن را با فاصله بین else و if بنویسید:

اگر (x > 50) ( /* کار درست را انجام دهید */ ) در غیر این صورت (x > 5) ( /* کار درست را انجام دهید */ ) دیگری ( /* کار درست را انجام دهید */ )

انتساب در عبارت شرطی

توصیه می شود از تخصیص های ساده در یک عبارت شرطی استفاده نکنید، زیرا هنگام نگاه کردن به کد، انتساب ممکن است با برابری اشتباه گرفته شود. برای مثال از کد زیر استفاده نکنید:

اگر (x = y) ( /* کار درست را انجام دهید */ )

اگر نیاز به استفاده از یک تکلیف در یک عبارت شرطی دارید، یک روش معمول این است که پرانتزهای اضافی را در اطراف تکلیف قرار دهید. مثلا:

اگر ((x = y)) ( /* کار درست را انجام دهید */ )

مشخصات فنی نظر وضعیت مشخصات
آخرین پیش نویس ECMAScript (ECMA-262)
پیش نویس
ECMAScript 2015 (نسخه ششم، ECMA-262)
تعریف «عبارت اگر» در آن مشخصات.
استاندارد
ECMAScript 5.1 (ECMA-262)
تعریف «عبارت اگر» در آن مشخصات.
استاندارد
ECMAScript نسخه سوم (ECMA-262)
تعریف «عبارت اگر» در آن مشخصات.
استاندارد
ECMAScript نسخه اول (ECMA-262)
تعریف «عبارت اگر» در آن مشخصات.
استاندارد تعریف اولیه
سازگاری با مرورگر

جدول سازگاری در این صفحه از داده های ساخت یافته تولید می شود. اگر می‌خواهید در داده‌ها مشارکت کنید، لطفاً https://github.com/mdn/browser-compat-data را بررسی کنید و یک درخواست برای ما ارسال کنید.

داده های سازگاری را در GitHub به روز کنید

سرور دسکتاپ موبایل Chrome Edge Firefox اینترنت اکسپلورر Opera Safari Android Webview Chrome برای Android Firefox برای Android Opera برای Android Safari در iOS Samsung Internet Node.jsاگر دیگری
پشتیبانی کامل کروم 1پشتیبانی کامل Edge 12پشتیبانی کامل فایرفاکس 1پشتیبانی کامل IE 3پشتیبانی کامل اپرا بلهسافاری پشتیبانی کامل بلهWebView Android پشتیبانی کامل 1Chrome Android پشتیبانی کامل 18فایرفاکس اندروید پشتیبانی کامل 4اپرا اندروید پشتیبانی کامل بلهسافاری iOS پشتیبانی کامل بلهسامسونگ اینترنت اندروید پشتیبانی کامل 1.0nodejs پشتیبانی کامل بله

Reg.ru: دامنه و هاست

بزرگترین ثبت کننده و ارائه دهنده میزبانی در روسیه.

بیش از 2 میلیون نام دامنه در حال خدمت است.

تبلیغات، پست برای دامنه، راه حل هایی برای کسب و کار.

بیش از 700 هزار مشتری در سراسر جهان قبلاً انتخاب خود را انجام داده اند.

چارچوب بوت استرپ: چیدمان پاسخگو سریع

دوره ویدیویی گام به گام در مورد اصول طرح تطبیقیدر چارچوب بوت استرپ

با استفاده از یک ابزار قدرتمند و کاربردی، حروفچینی را به سادگی، سریع و کارآمد بیاموزید.

برای سفارش آرایش کنید و پول بگیرید.

* ماوس را برای توقف پیمایش.

عقب به جلو

توابع و شرایط if-else در جاوا اسکریپت

اغلب با با استفاده از جاوا اسکریپتنیاز به اجرا وجود دارد اقدامات مختلفتحت شرایط مختلف

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

نحو عمومی اگر-دیگر می سازدبعد:

اگر (شرط) (عمل ) else (عمل2);

به عنوان مثال، این کد را در نظر بگیرید:

If (browser=="MSIE") ( alert("شما از IE استفاده می کنید") ) else ( alert("شما از IE استفاده نمی کنید") );

توجه داشته باشید که از تمام حروف کوچک استفاده شده است. اگر "IF" را بنویسید، خطایی رخ می دهد.

همچنین توجه داشته باشید که برای مقایسه از علامت دو برابری (==) استفاده می شود.

اگر بنویسیم مرورگر = "MSIE"، سپس فقط مقدار را اختصاص می دهیم MSIEمتغیر به نام مرورگر.

وقتی می نویسیم مرورگر=="MSIE"، سپس جاوا اسکریپت "می فهمد" که ما می خواهیم مقایسه کنیم، نه اختصاص مقدار.

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

If (شرط) ( action1 ) else ( if (شرط دیگر) ( action2 ) else ( action3 ); );

مثلا:

If (browser=="MSIE") ( alert("شما از IE استفاده می کنید") ) else ( if (browser=="Netscape") ( alert("شما از Firefox استفاده می کنید") ) else ( هشدار("شما در حال استفاده یک مرورگر ناشناس: )")); )

عملگرهای منطقی AND، OR و NOT

برای استفاده حتی انعطاف‌پذیرتر از طراحی اگر دیگریمی توان از عملگرهای به اصطلاح منطقی استفاده کرد.

و به صورت && نوشته می‌شود و زمانی استفاده می‌شود که بیش از یک شرط باید از نظر صحت بررسی شود.

به عنوان مثال: اگر در یخچال تخم مرغ وجود دارد و در یخچال بیکن وجود دارد، می توانیم تخم مرغ را با بیکن بخوریم.

نحو به شرح زیر است:

If (condition1 && condition2) ( action ) if (hour==12 && minute==0) ( alert("Noon!") );

یا به صورت || نوشته می شود و زمانی استفاده می شود که بخواهیم صحت حداقل یکی از دو یا چند شرط را آزمایش کنیم. (در حین نگه داشتن می توانید || را دریافت کنید کلید شیفتو کلید \)

به عنوان مثال: اگر در یخچال شیر باشد، یا در یخچال آب باشد، چیزی برای نوشیدن داریم.

نحو به شرح زیر است:

If (condition1 || condition2) ( action ) if (hour==11 || hour==10) ( alert("It's not noor!") );

نه به عنوان نوشته شده است! و برای نفی استفاده می شود.

به عنوان مثال: اگر در یخچال تخم مرغ یا بیکن نباشد، نمی توانیم تخم مرغ یا بیکن بخوریم.

نحو عبارت است از:

If (!(شرط)) ( اقدام ) if (!(ساعت==11)) ( هشدار("ساعت 11 نیست") );

توابع در جاوا اسکریپت

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

به عنوان مثال، فرض کنید یک جاوا اسکریپت ایجاد کرده اید که وظیفه آن تغییر رنگ پس زمینه صفحه با کلیک روی دکمه خاصی است. در این مورد، باید به مرورگر "بگویید" که این اسکریپت نباید صرفاً به این دلیل که صف به آن رسیده است اجرا شود.

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

در این حالت، کد جاوا اسکریپت تا زمانی که به روشی خاص از آن "نخواهیم" اجرا نمی شود.

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

تابع myfunction() ( هشدار ("خوش آمدید!")؛ )

روی دکمه کلیک کنید تا ببینید این اسکریپت چه کاری انجام می دهد:

اگر خط هشدار ("خوش آمدید!");در داخل یک تابع نوشته نمی شود، سپس هر زمان که مرورگر به این خط برسد، اجرا می شود. اما از آنجایی که آن را در داخل یک تابع نوشتیم، این خط تا زمانی که دکمه را کلیک نکنیم اجرا نمی شود.

فراخوانی تابع (یعنی فراخوانی آن) در این خط رخ می دهد:

همانطور که می بینید ما یک دکمه روی فرم قرار داده ایم و یک رویداد اضافه کرده ایم onClick="myfunction()"برای دکمه

در درس‌های آینده، به انواع دیگر رویدادهایی که توابع را راه‌اندازی می‌کنند، نگاه خواهیم کرد.

سینتکس کلی توابع به شرح زیر است:

نام تابع تابع (variable1, variable2,..., variableN) (// در اینجا بدنه تابع آمده است، آنچه انجام می دهد)

مهاربندهای فرفری: (و) شروع و پایان یک تابع را نشان می دهد.

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

علاوه بر این، استفاده از حروف بزرگهمچنین در نامگذاری متغیرها نقش دارد. اگر تابعی به نام دارید myfunction()، سپس تلاشی برای پرداختن به آن به عنوان myfunction(), MYFUNCTION()یا MyFunction()باعث خطا خواهد شد.

مطالب را دوست داشتید و می خواهید تشکر کنید؟
فقط با دوستان و همکاران خود به اشتراک بگذارید!


همچنین ببینید:

var a = 10; varb = (a>1) ? 100:200; هشدار (ب)؛

اگر شرط a>1درست است، سپس متغیر بیک مقدار اختصاص دهید 100 ، در غیر این صورت به متغیر b مقدار داده می شود 200 .

Task Js 3_4. کد را تکمیل کنید: 3 متغیر محلی با استفاده از آن اعلام می شوند کلمه کلیدی var لازم است که مقدار عملگر سه تایی زیر را به متغیر max نسبت دهیم: اگر a بزرگتر از b باشد، a را برگردانید، در غیر این صورت b را برگردانید.
قطعه کد:

اگر (a*b< 6) { result = "Мало"; } else { result = "Много"; }


سوالاتی برای خودکنترلی:

  • نحو عملگر سه تایی چیست؟
  • یک عملگر سه تایی چند آرگومان دارد؟
  • عبارت Switch در جاوا اسکریپت - سوئیچ

    دستور سوئیچ جاوا اسکریپت برای آزمایش یک متغیر برای چندین مقدار استفاده می کند:

    نحو:

    سوئیچ (متغیر یا عبارت) ( case option1: //..statement block.. break case option2: //..statement block.. break default: //..statement block.. )

    مقدار یک متغیر یا عبارت بررسی می شود: در هر کدام موردیکی از مقادیر بررسی می شود، در صورت وجود یک مقدار مناسب، یک یا بلوک دیگر از دستورات مربوط به مورد داده شده اجرا می شود. مورد.

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

    مهم: دستور break پس از هر مقدار در نظر گرفته شده از متغیر (بعد از هر یک) مورد نیاز است مورد) اگر از آن استفاده نشود، تمام عبارات زیر نمایش داده می شود

    مقایسه با اپراتور اگر:

    var a = 2; switch(a) ( case 0: // if (a === 0) case 1: // if (a === 0) alert("صفر یا یک"); // سپس خروجی... break; case 2: // if (a === 2) alert("Two")؛ // سپس خروجی... break؛ پیش فرض: // else alert("Many")؛ // در غیر این صورت خروجی... )

    چگونه چندین گزینه را گروه بندی کنیم؟

    برای اجرای همان دستورات، می توان چندین گروه را گروه بندی کرد مورد. مانند مثال بالا:

    مورد 0: مورد 1: هشدار ("صفر یا یک")؛ زنگ تفريح؛ ...

    وقتی a = 0 و a = 1، همان عبارت اجرا می شود: alert("صفر یا یک");

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


    ✍ راه حل:
    • یک صفحه وب با اسکلت و تگ html ایجاد کنید اسکریپت.
    • مقداردهی اولیه متغیر رنگ
    • var color = prompt("چه رنگی؟" );

      var color = prompt("چه رنگی؟");

    • مقدار یک متغیر را با یک ساختار بررسی کنید تعویض، خروجی برای هر مقدار ترجمه مربوطه:
    • سوئیچ (رنگ) (حساب "قرمز" : هشدار("قرمز")؛ شکست؛ حروف سبز: هشدار("سبز")؛ شکست؛ // ...

      اگر متغیر رنگدارای مقدار "قرمز"، سپس خروجی به پنجره مودالترجمه - "قرمز" و خروج از ساخت و ساز (شکستن؛). اگر متغیر رنگدارای مقدار "سبز" است، سپس ترجمه - "سبز" را در پنجره مدال نمایش می دهد و از ساخت و ساز خارج می شود (شکست؛).

    • برای گل "آبی"و "آبی"گروه بندی را انجام دهید:
    • // ... case "blue": case "blue": alert("blue"); زنگ تفريح؛ //...

      اگر متغیر رنگدارای مقدار "آبی" یا متغیر است رنگدارای مقدار "آبی" است، سپس ترجمه - "آبی" را در پنجره مدال نمایش می دهد و از ساخت و ساز خارج می شود (شکست؛).

    • خروجی را برای رنگ هایی که توسط برنامه ارائه نشده اند سازماندهی کنید:
    • // ... پیش فرض : alert("y ما هیچ اطلاعاتی در مورد این رنگ نداریم" ) ) // انتهای سوئیچ

      // ... پیش فرض: alert("y ما هیچ اطلاعاتی در مورد این رنگ نداریم") ) // انتهای سوئیچ

    • اسکریپت را در مرورگر تست کنید.

    Task Js 3_6. خطاها را در قطعه کد زیر پیدا و رفع کنید:

    14 15 16 17 var number = prompt("شماره 1 یا 2 را وارد کنید:" ); سوئیچ (عدد) ( case "1" ( document.write ("One") ;) ; break ; case "2" ( document.write ("Two") ;) ؛ break ; default ( document.write ("شما وارد کردید مقداری غیر از 1 و 2") ;) ;)

    var number = prompt("شماره 1 یا 2 را وارد کنید:"); سوئیچ (شماره) ( مورد "1" ( document.write ("One"); ); break; case "2" ( document.write("دو"); )؛ break; default ( document.write ("شما وارد کردید مقداری غیر از 1 و 2")؛ ))


    Task Js 3_7. با اجرای کد زیر چه چیزی روی صفحه نمایش داده می شود؟

    1 2 3 4 5 6 7 8 9 10 11 12 13 var value = "2" ; سوئیچ (مقدار) (مورد "1" : مورد "2" : مورد "3" : document.write ("سلام") ؛ شکستن ؛ مورد "4" : مورد "5" : document.write ("World" ) ؛ پیش فرض: document.write("خطا") ;)

    مقدار var = "2"; سوئیچ (مقدار) (مورد "1": مورد "2": مورد "3": document.write ("سلام")؛ شکست؛ مورد "4": مورد "5": document.write("World" )؛ پیش فرض: document.write ("خطا")؛ )


    Task Js 3_8. از کاربر یک عدد بخواهید - تعداد کلاغ های روی شاخه. بسته به عدد وارد شده (بیش از 10)، پیامی را نمایش دهید: - 1 کلاغ روی شاخه می نشیند - 4 کلاغ روی شاخه می نشیند - 10 کلاغ روی شاخه می نشیند.

  • بسته به عدد وارد شده، انتهای کلمه تغییر می کند. "کلاغ".
  • برای بررسی از دستور سوئیچ جاوا اسکریپت استفاده کنید.
  • صرفه جویی این صفحهدر پوشه نتایج (برای کار بیشتر مفید خواهد بود).

  • سوالاتی برای خودکنترلی:

  • در این صورت مناسب است بیانیه شرطیاز سازه استفاده کنید تعویض?
  • هدف از بلوک پیش فرض در عبارت چیست؟ تعویض?
  • آیا استفاده از دستور break در ساخت لازم است؟ تعویض?
  • چگونه گروه بندی برای گزینه های چند مقدار در یک عملگر انجام می شود تعویض?
  • اپراتورهای چرخه ای زبان جاوا اسکریپت- برای

    نحو:

    برای (مقدار شمارنده اولیه؛ شرط؛ افزایش شمارنده) ( //.. بلوک بیانیه.. )

    مهم: جاوا اسکریپت برای حلقه زمانی استفاده می‌شود که از قبل مشخص باشد اقدامات چرخه‌ای چند بار باید تکرار شوند (حلقه چند بار تکرار دارد)

    • یک عبارت انتساب به عنوان مقدار اولیه شمارنده تکرار استفاده می شود: به عنوان مثال، i=0 - شمارنده حلقه از صفر شروع می شود:
    • for(var i = 0؛ شرط؛ افزایش شمارنده) (//.. بلوک عبارت.. )

    • به عنوان یک افزایش شمارنده، مرحله ای که شمارنده باید با آن افزایش یابد نشان داده می شود: به عنوان مثال، نشان می دهد که هر تکرار حلقه با افزایش آن به میزان 1 همراه خواهد بود:
    • برای (var i = 0؛ شرط؛ i++) (//.. بلوک بیانیه.. )

    • شرط حلقه مقدار پایانی شمارنده است: برای مثال i10 حلقه را متوقف می کند:
    • for(var i = 0; i