Js switch: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «== Краткое описание == Конструкция <code>switch</code> заменяет собой сразу несколько <code>if(...)</code>.Она представляет собой более наглядный способ сравнить выражение сразу с несколькими вариантами. == Синтаксис == Стандартная конструкция выглядит таким образом: <pre...») |
|||
| Строка 20: | Строка 20: | ||
== Пример использования == | == Пример использования == | ||
Наглядным примером может служить определение набора действий в зависимости от выбранного значения (например из выпадающего списка): | Наглядным примером может служить определение набора действий в зависимости от выбранного значения параметра <code>state</code> (например из выпадающего списка): | ||
<pre style="color: purple"> | <pre style="color: purple"> | ||
switch (state) { | switch (state) { | ||
Версия от 13:46, 12 сентября 2023
Краткое описание
Конструкция switch заменяет собой сразу несколько if(...).Она представляет собой более наглядный способ сравнить выражение сразу с несколькими вариантами.
Синтаксис
Стандартная конструкция выглядит таким образом:
switch (state) {
case 'value1':
break;
case 'value2':
break;
case 'value3':
break;
default:
};
- Переменная
stateпроверяется на строгое равенство первому значению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определен свой порядок действий (расчетов).