Switch bayonoti(statement)
Switch bayonoti ko'p if tekshiruvlarini almashtirishi mumkin.
Switch bayonoti
Switch bayonoti ko'p if tekshiruvlarini almashtirishi mumkin.
U qiymatni bir nechta variantlar bilan taqqoslashning yanada tavsifli usulini taqdim etadi.
Sintaksis
Switch bir yoki bir nechta case bloklari va ixtiyoriy default bo'lishi mumkin.
Bu quyidagicha ko'rinishga ega:
x qiymati birinchi case (ya'ni, value1) bilan qattiq tenglik uchun tekshiriladi, so'ng ikkinchi (value2) va hokazo. Agar tenglik topilsa, switch mos keluvchi case'dan boshlanadi va yaqinroq break (yoki switch oxiriga) qadar kodni bajaradi. Agar hech qanday case mos kelmasa, default kodi bajariladi (agar mavjud bo'lsa).
Misol Switch misoli (bajarilgan kod ta'kidlangan):
Bu yerda switch a'ni birinchi case variantidan, ya'ni 3 dan solishtiradi. Moslik topilmadi.
Keyin 4. Bu mos keladi, shuning uchun bajarish case 4 dan boshlanadi va yaqinroq break'ga qadar davom etadi.
Agar break bo'lmasa, bajarish keyingi case bilan davom etadi, hech qanday tekshirishsiz.
Break bo'lmagan misol:
Yuoqirdagi misolda uchta alert ketma-ket bajariladi:
alert( 'To'g'ri!' ); alert( 'Juda katta' ); alert( "Bunday qiymatlar haqida bilmayman" );
Har qanday ifoda switch/case argumenti bo'lishi mumkin Switch va case ixtiyoriy ifodalarni qabul qiladi.
Masalan:
Bu yerda +a 1 ni beradi, bu case'dagi b + 1 bilan solishtiriladi va mos keluvchi kod bajariladi.
Caselarni guruhlash
Bir xil kodni bajaradigan bir nechta case variantlarini guruhlash mumkin.
Masalan, agar case 3 va case 5 uchun bir xil kod bajarilishini xohlasak:
Endi 3 va 5 ikkala qiymat ham bir xil xabarni ko'rsatadi.
Turi muhim
Tenglik tekshiruvi har doim qat'iy bo'lishini ta'kidlash kerak. Qiymatlar mos kelishi uchun bir xil turda bo'lishi kerak.
Masalan, quyidagi kodni ko'rib chiqamiz:
0, 1 uchun birinchi alert ishlaydi. 2 uchun ikkinchi alert ishlaydi. Ammo 3 uchun, prompt natijasi "3" qator bo'lib, son 3 bilan qattiq teng emas. Shuning uchun case 3'da dead code mavjud! Default variant bajariladi.