%45 تخفیف، با کد daneshjoo روی تمام آموزش ها، بمناسبت روز دانشجو
زمان باقی مانده (تمدید شد)
سبد (0)

تبلیغات

دستور switch در JavaScript

با استفاده از دستور switch، می توانید کارهای مختلف را بر اساس شرط های متفاوت انجام دهید.


دستور  Switch در JavaScript

Wiki

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

این دستور در برخی موارد شباهت بسیار زیادی به دستورات if ... elseif ... else دارد.

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

نحوه استفاده:

switch(n)
{
case 1:
  execute code block 1
  break;
case 2:
  execute code block 2
  break;
default:
  code to be executed if n is different from case 1 and 2
}

کد بالا چگونه کار می کند:

  • مقدار عبارت n با مقادیر caseها مقایسه می شود.
  • اگر مقدار n با مقدار case مساوی بود، بلوک مربوطه اجرا خواهد شد.

مثال (دستور switch در JavaScript)

با استفاده از عددی که تابع ()getDay برمی گرداند، نام روزهای هفته محاسبه می شود: (Sunday=0 و Monday=1 و Tuesday=2 و ...)

switch (new Date().getDay()) {
    case 0:
        day = "Sunday";
        break;
    case 1:
        day = "Monday";
        break;
    case 2:
        day = "Tuesday";
        break;
    case 3:
        day = "Wednesday";
        break;
    case 4:
        day = "Thursday";
        break;
    case 5:
        day = "Friday";
        break;
    case 6:
        day = "Saturday";
        break;
}

نتیجه ی کد بالا:

 

خودتان امتحان کنید »

کلمه کلیدی break

Wiki

زمانی که مفسر JavaScript به کلمه کلیدی break می رسد، بلافاصله از بلاک switch بیرون می رود.

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

Note زمانی که مقدار مساوی پیدا شد و کار موردنظرمان انجام گرفت، دیگر نیازی به مقایسه دیگر caseها نیست و باید از بلاک switch خارج شد.

کلمه کلیدی default

Wiki

اگر هیچکدام از مقادیر مقابل caseها با متغیر n برابر نبود، در این صورت دستورات مربوط به default اجرا می شود.

مثال (دستور switch در JavaScript)

اگر امروز، شنبه یا یکشنبه نباشد، پیغام قسمت default چاپ خواهد شد:

switch (new Date().getDay()) {
    case 6:
        text = "Today is Saturday";
        break;
    case 0:
        text = "Today is Sunday";
        break;
    default:
        text = "Looking forward to the Weekend";
}

نتیجه ی کد بالا، اگر امروز یکشنبه باشد:

Today is Sunday

خودتان امتحان کنید »

یک کد مشترک به ازای چند case مختلف

Wiki

بعضی مواقع می خواهید به ازای چند case مختلف یک کد مشترک استفاده شود و یا به قسمت default منتقل شود.

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

مثال (دستور switch در JavaScript)

switch (new Date().getDay()) {
    case 1:
    case 2:
    case 3:
    default:
        text = "Looking forward to the Weekend";
        break;
    case 4:
    case 5:
       text = "Soon it is Weekend";
        break;
    case 0:
    case 6:
       text = "It is Weekend";
}

خودتان امتحان کنید »

دیدگاه‌ها  

+2 # مهدی دلاور 1396-03-28 17:49
سلام. توی آموزش جاوا اسکریپت توابعی ذکر میشه که توضیحی در بارش داده نمیشه. مثل Date() و getDay(). اینها رو باید از قبل بلد باشیم یا اینکه در طول دوره آموزش داده میشند؟ و اینکه لیستی از نوابع به صورت مرجع دارین که همه اونها رو بتونیم توش پیدا کنیم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # احسان عباسی 1396-03-28 18:23
سلام. تمامی این توابع جاوا اسکریپت در فصل شماره 7، از منوی سمت چپ، یعنی در بخش مرجع دستورات javascript توضیح داده شده اند.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # amirkh2002 1395-11-21 21:55
سلام میخواستم بدونم متنی که با این اسکریپت نمایش داده میشه چجور میشه وسط چین کرد؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # احسان عباسی 1395-11-24 09:03
سلام.
کافیه کد زیر رو در داخل تگ p با آی دی demo قرار دهید، تا متن چاپ شده وسط چین شود:
style="text-align:center;"
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # MOHAMMAD1235 1395-08-30 23:26
سلام واقعا سایت خوبی دارین.
اموزش ویدیویی جاوا اسکیریت چی شد pas؟
قولش رو داده بودین.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # elnaz 1395-04-03 17:22
سلام من یه سوال در مورد روزهای هفته و اینکه به ای دی چطور مقدار و .... داده بودین پرسیده بودم. میخواستم بگم متوجه شد. شما دیگه زحمت نکشید برای جواب دادن. مرسی از مطالب خوبتون.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # AliReza01 1394-01-14 20:28
با سلام وتشکر از سایت خوبتون یک سوال دارم از شما.اگر میشه یکم واضح تر new را توضیح دهید که چه کاری دقیقا انجام میدهد ؟؟
مرسی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1394-01-15 07:13
سلام
چون هنوز با مبحث اشیاء در JavaScript آشنا نشده اید، بنابراین حق دارید که کلمه new برایتان سوال برانگیز باشد.
در زبان های شیء گرا، با استفاده از کلمه کلیدی new می توان یک شیء ایجاد کرد. اشیاء متغییرهای خاصی هستند که دارای یکسری Method ها و Property های مشخصی هستند. مثال:switch (new Date().getDay() ) {
...
}
در کد بالا، کلمه new باعث می شود تا یک شیء از نوع Date ایجاد شود و در ادامه با فراخوانی متد
()getDay ، روز جاری برگردانده می شود.
برای کسب اطلاعات بیشتر در مورد اشیاء در JavaScript به لینک زیر مراجعه فرمایید:
www.beyamooz.com/javascript/128-object/398
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # raghb 1394-01-12 23:39
تشکر از از زحمات شما
آیا switch و case ها فقط دارای قابلیت مقایسه نوع عدد میباشند وstring را نمی توانند؟
مرسی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیر پهلوان صادق 1394-01-13 00:43
ممنون
در دستور switch هر چیزی می تواند مورد مقایسه قرار گیرد. اما نکته ای که وجود دارد این است که، این مقایسه تنها از لحاظ تساوی انجام خواهد شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # moji 1393-12-18 19:34
من متوجه نمیشم بر چه اساسی.getDay مقدار monday رو بر میگردونه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مظاهر نصوحی 1393-12-19 08:01
دوست عزیز، در مثال خودتان امتحان کنید دوم، ()getDay یک مقدار از 0 تا 6 بر می گرداند که به ترتیب 0 معادل یکشنبه 1 معادل دوشنبه و به همین ترتیب 6 معادل شنبه می باشد.
در این مثال با استفاده از case عدد برگردانده شده را مقایسه کرده ایم، مثلاً گفته ایم که case 2 این یعنی اگر خروجی 2 بود "Wednesday" را در متغیر day قرار بده.
در نهایت day را در خروجی نمایش داده ایم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # ali-76 1393-09-22 14:34
چرا کامل توضیح نمیدین
مثلا همین مثلالی که نوشتین نگفتین چطوری کار میکنه فقط گفتین این کلمه ها برای این کارن
وقتی مثال میزنین یه توضیح هم براش بنویسین که بفهمیم چطوری ساختین
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+10 # امیر پهلوان صادق 1393-09-23 09:39
با تشکر از شما، توضیات بیشتر ارائه شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # mohammad 1393-12-25 01:52
با سلام و تشکر از زحمات شما.

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

مثال بنده در مورد switch
امتحان کنید




function myFunction() {
var age=3;
switch (age) {
case 0:
age = "you are infant";
break;
case 1:
age = "you can start to walk";
break;
case 2:
age = "you can speak!";
break;
case 3:
age= "you can go to nursery";
break;

}
document.getElementById("demo").innerHTML="in this age " +age;
}

پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # مظاهر نصوحی 1393-12-25 08:56
با تشکر از پیشنهادتون.
با توجه به اینکه سایت مرجع ( W3Schools) به این صورت آموزش داده است، تغییری در چیدمان مثال ها یا نحوه ی بکارگیری آن ها ایجاد نشده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی JavaScript

بستن
مدرس:
سوال و جواب:

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

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی