Js switch
Краткое описание
Конструкция 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определен свой порядок действий (расчетов).