Js switch: различия между версиями

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
(Новая страница: «== Краткое описание == Конструкция <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 определен свой порядок действий (расчетов).