Js switch: различия между версиями
Перейти к навигации
Перейти к поиску
| Строка 5: | Строка 5: | ||
Стандартная конструкция выглядит таким образом: | Стандартная конструкция выглядит таким образом: | ||
<pre style="color: purple"> | <pre style="color: purple"> | ||
switch ( | switch (var) { | ||
case 'value1': | case 'value1': | ||
break; | break; | ||
| Строка 15: | Строка 15: | ||
}; | }; | ||
</pre> | </pre> | ||
*Переменная <code> | *Переменная <code>var</code> проверяется на строгое равенство первому значению <code>value1</code>, затем второму <code>value2</code> и так далее. | ||
*Если соответствие установлено – <code>switch</code> начинает выполняться от соответствующей директивы <code>case</code> и далее, до ближайшего <code>break</code> (или до конца <code>switch</code>). | *Если соответствие установлено – <code>switch</code> начинает выполняться от соответствующей директивы <code>case</code> и далее, до ближайшего <code>break</code> (или до конца <code>switch</code>). | ||
*Если ни один <code>case</code> не совпал – выполняется (если есть) вариант <code>default</code>. | *Если ни один <code>case</code> не совпал – выполняется (если есть) вариант <code>default</code>. | ||
Версия от 13:46, 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определен свой порядок действий (расчетов).