switch
Misol
Foydalanuvchi kiritgan ma’lumotga qarab kod blokini bajaring:
var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
case "Banana":
text = "Banana is good!";
break;
case "Orange":
text = "I am not a fan of orange.";
break;
case "Apple":
text = "How you like them apples?";
break;
default:
text = "I have never heard of that fruit...";
}
O‘zingiz sinab ko‘ring »
Quyida ko‘proq "O‘zingiz sinab ko‘ring" misollari keltirilgan.
Tavsif
switch operatori turli holatlarga (case) qarab kod blokini bajaradi.
switch operatori JavaScript’ning "shartli" operatorlari tarkibiga kiradi; ular turli shartlarga qarab turli amallarni bajarish uchun ishlatiladi. Bajariladigan ko‘plab kod bloklaridan birini tanlash uchun switch’dan foydalaning. Bu uzun, ichma-ich joylashgan if/else operatorlari uchun ideal yechim.
switch operatori ifodani hisoblaydi. So‘ngra ifoda qiymati strukturadagi har bir case qiymati bilan taqqoslanadi. Agar moslik bo‘lsa, tegishli kod bloki bajariladi.
switch operatori ko‘pincha break yoki default kalit so‘zi (yoki ikkalasi) bilan birga ishlatiladi. Ikkalasi ham ixtiyoriy:
break kalit so‘zi switch blokidan chiqaradi. Bu blok ichidagi keyingi kodning bajarilishini va/yoki case tekshiruvini to‘xtatadi. Agar break tushirib qoldirilsa, switch operatoridagi keyingi kod bloki bajariladi.
default kalit so‘zi hech bir case mos kelmaganda bajariladigan kodni belgilaydi. switch’da faqat bitta default kalit so‘zi bo‘lishi mumkin. Garchi bu ixtiyoriy bo‘lsa-da, undan foydalanish tavsiya etiladi, chunki u kutilmagan holatlarni hal qiladi.
Sintaksis
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default:
default code block
}
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| expression | Majburiy. Hisoblanadigan ifodani belgilaydi. Ifoda bir marta hisoblanadi. Ifoda qiymati strukturadagi har bir case yorlig‘i qiymati bilan taqqoslanadi. Agar moslik bo‘lsa, tegishli kod bloki bajariladi |
Ko‘proq misollar
Misol
Hafta kuni nomini hisoblash uchun bugungi hafta kunining tartib raqamidan foydalaning (Sunday=0, Monday=1, Tuesday=2, ...):
var day;
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;
default:
day = "Unknown Day";
}
O‘zingiz sinab ko‘ring »
Misol
Agar bugun shanba ham, yakshanba ham bo‘lmasa, standart xabarni yozing:
var text;
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";
}
O‘zingiz sinab ko‘ring »
Misol
Ba’zan turli case’lar bir xil koddan foydalanishini yoki umumiy default’ga o‘tib ketishini (fall-through) xohlaysiz.
E’tibor bering, bu misolda case’lar bir xil kod blokiga ega, default holati esa switch blokidagi oxirgi holat bo‘lishi shart emas (biroq, agar default switch blokidagi oxirgi holat BO‘LMASA, uni break bilan tugatishni unutmang).
var text;
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";
}
O‘zingiz sinab ko‘ring »
Misol
Prompt oynasi orqali foydalanuvchi kiritgan ma’lumotga qarab kod blokini bajarish uchun switch operatoridan foydalanish:
var text;
var favDrink = prompt("What's your favorite cocktail drink?");
switch(favDrink) {
case "Martini":
text = "Excellent choice! Martini is good for your soul.";
break;
case "Daiquiri":
text = "Daiquiri is my favorite too!";
break;
case "Cosmopolitan":
text = "Really? Are you sure the Cosmopolitan is your favorite?";
break;
default:
text = "I have never heard of that one..";
}
O‘zingiz sinab ko‘ring »
Tegishli sahifalar
JavaScript darsligi: JavaScript if...else operatorlari
JavaScript darsligi: JavaScript switch operatori
JavaScript ma’lumotnomasi: JavaScript if/else operatori
JavaScript ma’lumotnomasi: JavaScript break operatori
Brauzerlarda qo‘llab-quvvatlash
switch — ECMAScript1 (JavaScript 1997) imkoniyati.
U barcha brauzerlarda qo‘llab-quvvatlanadi:
| Chrome | Edge | Firefox | Safari | Opera |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
