JavaScript. Инструкция switch

JavaScript. Инструкция switch


Содержание


Поиск на других ресурсах:

1. Инструкция switch. Общие понятия

Инструкция switch позволяет выбирать один вариант из предложенного набора. В инструкции switch текущее значение переменной или выражения сравнивается на равенство с одним из возможных вариантов, и, в случае равенства выполняется соответствующий программный код.

Синтаксис инструкции switch следующий

switch (expression) {
  case value1:
    // Instructions_1
    // ...
  break;
  case value2:
    // Instructions_2
    // ...
  break;

  ...

  case valueN:
    // Instructions_N
    // ...
  break;
  default:
    // Instructions_N+1
  break;
}

здесь

  • expression – некоторое выражение или значение переменной;
  • value1, value2, valueN – значение, с которым сравнивается выражение. Эти значения могут быть числовых, строчных, символьных и логического типов;
  • Instructions_1, Instructions_2, Instructions_N – операторы (инструкции) выполняемые в случае, если результат expression совпадет в соответствии с value1, value2, valueN;
  • Instructions_N+1 – операторы (инструкции), выполняемые в случае, если не найдено ни одного совпадения.

Блок операторов, определенный ключевым словом default, может отсутствовать.

Операторы break после каждого блока инструкций обеспечивают выход из оператора case. Если убрать операторы break, то выхода из оператора case не произойдет и продолжится выполнение следующих операторов. Например, в следующем фрагменте выполняются подряд все операторы, начиная с оператора, выводящего число 2.5.

var num = 2.5

switch (num) {
  case 1.5: console.log("1.5")
  case 2.5: console.log("2.5") // далее выполняются все подряд операторы
  case 3.5: console.log("3.5")
  case 4.5: console.log("4.5")
}

 

2. Пример обработки результата выражения, имеющий целый числовой тип

Демонстрируется фрагмент кода, в котором для заданного номера дня недели выводится название этого дня

// Инструкция switch

// Задан номер дня недели
var day = 3

// По заданному номеру вывести название дня недели
switch (day) {
  case 1: console.log("Monday");
  break;
  case 2: console.log("Tuesday");
  break;
  case 3: console.log("Wednesday");
  break;
  case 4: console.log("Thursday");
  break;
  case 5: console.log("Friday");
  break;
  case 6: console.log("Saturday");
  break;
  case 7: console.log("Sunday");
  break;
  default:
    console.log("Incorrect day")
  break;
}

Результат

Wednesday

 

3. Пример обработки выражения строкового типа

Задано название страны. По названию выводится столица этой страны.

// Инструкция switch

// Обработка выражения содержащего строку
var country = "Ukraine"

// По названию страны вывести название ее столицы
switch (country) {
  case "USA": console.log("Washington");
  break;
  case "Slovakia": console.log("Bratislava");
  break;
  case "Ukraine": console.log("Kiev");
  break;
  case "Belgium": console.log("Brussels");
  break;
  case "Ireland": console.log("Dublin");
  break;
  default:
    console.log("Another country");
  break;
}

Результат

Kiev

 

4. Пример реализации операции по заданной строке

В примере задается строка операции. На основе строки выполняется соответствующий оператор.

// Инструкция switch

// Обработка выражения, содержащего обозначение операции
var symbol = '*'
var x = 5, y = 8, z

// На основе значения символа реализовать соответствующую операцию
switch (symbol) {
  case '+': z = x + y;
  break;
  case '-': z = x - y;
  break;
  case '*': z = x * y;
  break;
  case '/': z = x / y
  break;
  default:
    z = 0
  break;
}

console.log("z = " + z)

Результат

z = 40

 

5. Пример определения характеристики соответствующей фигуры на основе номера операции

В примере на основе заданного номера фигуры и радиуса вычисляется соответствующая характеристика фигуры. Результат выводится на экран.

// Инструкция switch

// Обработка характеристики геометрической фигуры
// Задано
var numFigure = 2
var radius = 3.0

switch (numFigure) {
  case 1:
    // Вычислить длину окружности
    var length = 2 * Math.PI * radius
    console.log("length = " + length)
  break;
  case 2:
    // Вычислить площадь круга
    var area = Math.PI * radius * radius
    console.log("area = " + area)
  break;
  case 3:
    // Вычислить объем шара
    var volume = 4.0 / 3 * Math.PI * radius * radius * radius
    console.log("volume = " + volume);
  break;
  default:
    console.log("Undefined figure");
}

Результат

area = 28.274333882308138

 


Связанные темы