Js switch: различия между версиями
Перейти к навигации
Перейти к поиску
| Строка 1: | Строка 1: | ||
== Краткое описание == | == Краткое описание == | ||
Конструкция <code>switch</code> заменяет собой сразу несколько <code>if(...)</code>.Она представляет собой более наглядный способ сравнить выражение сразу с несколькими вариантами. | Конструкция <code>switch</code> заменяет собой сразу несколько <code>if(...)</code>. Она представляет собой более наглядный способ сравнить выражение сразу с несколькими вариантами. | ||
== Синтаксис == | == Синтаксис == | ||
Текущая версия от 14:40, 12 сентября 2023
Краткое описание
Конструкция switch заменяет собой сразу несколько if(...). Она представляет собой более наглядный способ сравнить выражение сразу с несколькими вариантами.
Синтаксис
Стандартная конструкция выглядит таким образом:
switch (var) {
case 'value1':
break;
case 'value2':
break;
case 'value3':
break;
default:
};
- Переменная
varпроверяется на строгое равенство первому значениюvalue1, затем второмуvalue2и так далее. - Если соответствие установлено –
switchначинает выполняться от соответствующей директивыcaseи далее, до ближайшегоbreak(или до концаswitch). - Если ни один
caseне совпал – выполняется (если есть) вариантdefault.
Пример использования
Наглядным примером может служить определение уникального набора действий в зависимости от выбранного значения параметра state (например настройки из выпадающего списка):
switch (state) {
case 0: //частота вращения определена из сигнала
if (imp.FREQ() <= imp.FREQNESS()) {
gtl.log.info("Частота вращения меньше рекомендуемой", "Минимально рекомендуемая частота: " + imp.FREQNESS());
gtl.diagnostic.stop(); //принудительная остановка диагностики
};
break;
case 1: //частота вращения фиксированная
spen.frequency = imp.standart_width();
spen.lines = imp.standart_lines();
break;
case 2: //частота вращения из внешнего источника
gtl.diagnostic.interval = acq_time;
break;
};
- В данном примере для каждого значения переменной
stateопределен свой порядок действий (расчетов).