Конструкция switch
Switch заменяет несколько условий if... else
Синтаксис:
var x = a + 1;
switch(x) {
case 2: // if (x === 2)
...
break
case 3: // if (x === 3)
case 4: // if (x === 4)
...
break
default:
...
break }
У нас есть некая переменная х и switch проверяет условие на строгое соответствие ей.
То. что соответствие строгое ( === ) важно. Тип данных имеет значение.
Оператор break означает, что после выполнения команды ( ... ), выполнение инструкции следует прекратить.
Этот оператор не обязательный. Если его нет, интерпретатор находит первое истинное условие и выполняет все команды, следующие за ним ниже по коду, уже не проверяя соответствие условию.
Нескольким условиям может соответствовать одна команда, в коде выше это строки
case 3:
case 4:
...
В сase могут быть указаны любые выражения и функции.
Задача.
Переписать if-ы в switch
var a = +prompt('a?', '');
if (a == 0) {
alert( 0 ); } if (a == 1) { alert( 1 ); }
if (a == 2 || a == 3) { alert( '2,3' ); }
Решение
var a = + prompt('a?', ''); switch (a) { case 0:
alert(0);
break;
case 1: alert(1);
break; case 2: case 3: alert('2,3'); break; }