Page 55 - 6105
P. 55
При case 3 виконання йде з рядка (*), при case 5 - з рядка (**). Наступний
приклад приймає значення від відвідувача.
var arg = prompt ( "Введіть arg?")
switch (arg) {
case '0':
case '1':
alert ( 'Один або нуль');
case '2':
alert ( 'Два');
break;
case 3:
alert ( 'Ніколи не виконається');
default:
alert ( 'Невідоме значення:' + arg)
}
Що воно виведе при введенні числа 0? Числа 1? 2? 3?
При введенні 0 виконається перший alert, далі виконання продовжиться
вниз до першого break і виведе другий alert ( 'Два'). Разом, два виводи alert.
При введенні 1 відбудеться те ж саме.
При введенні 2, switch перейде до case '2', і спрацює єдиний alert ( 'Два').
При введенні 3, switch перейде на default. Це тому, що prompt повертає
рядок '3', а не число. Типи різні. Оператор switch передбачає сувору рівність ===,
так що збігу не буде.
54