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.


ULASHISH

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!