Js switch

Материал из GTL-wiki
Перейти к навигации Перейти к поиску

Краткое описание

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