ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

JavaScript учебник

JS HOME JS Introduction JS Where To JS Output JS Statements JS Syntax JS Comments JS Variables JS Operators JS Arithmetic JS Assignment JS Data Types JS Functions JS Objects JS Scope JS Events JS Strings JS String Methods JS Numbers JS Number Methods JS Arrays JS Array Methods JS Array Sort JS Array Iteration JS Dates JS Date Formats JS Date Get Methods JS Date Set Methods JS Math JS Random JS Booleans JS Comparisons JS Conditions JS Switch JS Loop For JS Loop While JS Break JS Type Conversion JS Bitwise JS RegExp JS Errors JS Debugging JS Hoisting JS Strict Mode JS this Keyword JS Style Guide JS Best Practices JS Mistakes JS Performance JS Reserved Words JS Versions JS Version ES5 JS Version ES6 JS JSON

JS Forms

JS Forms Forms API

JS Objects

Object Definitions Object Properties Object Methods Object Constructors Object Prototypes

JS Functions

Function Definitions Function Parameters Function Invocation Function Call Function Apply Function Closures

JS HTML DOM

DOM Intro DOM Methods DOM Document DOM Elements DOM HTML DOM CSS DOM Animations DOM Events DOM Event Listener DOM Navigation DOM Nodes DOM Collections DOM Node Lists

JS Browser BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS AJAX

AJAX Intro AJAX XMLHttp AJAX Request AJAX Response AJAX XML File AJAX PHP AJAX ASP AJAX Database AJAX Applications

JS JSON

JSON Intro JSON Syntax JSON vs XML JSON Data Types JSON Objects JSON Arrays JSON Parse JSON Stringify JSON PHP JSON HTML JSON JSONP

JS References

JavaScript Objects HTML DOM Objects


JavaScript Switch Заявление


Оператор switch используется для выполнения различных действий, основанных на различных условиях.


Оператор переключения JavaScript

Используйте инструкцию Switch для выбора одного из множества блоков кода, которые должны быть выполнены.

Синтаксис

switch(expression) {
    case n:
        code block
        break;
    case n:
        code block
        break;
    default:
        code block
}

Вот как это работает:

  • Выражение switch вычисляется один раз.
  • Значение выражения сравнивается со значениями каждого регистра.
  • Если совпадение, выполняется связанный блок кода.

Пример

Метод getDay () возвращает день недели как число от 0 до 6.

(Sunday=0, Monday=1, Tuesday=2 ..)

В этом примере для вычисления названия дня недели используется номер дня недели:

switch (new Date().getDay()) {
    case 0:
        day = "Sunday";
        break;
    case 1:
        day = "Monday";
        break;
    case 2:
        day = "Tuesday";
        break;
    case 3:
        day = "Wednesday";
        break;
    case 4:
        day = "Thursday";
        break;
    case 5:
        day = "Friday";
        break;
    case 6:
        day = "Saturday";
}

Результат дня будет:



Ключевое слово Break

Когда JavaScript достигает ключевого слова break , он вырывается из блока switch.

Это остановит выполнение большего количества кода и тестирования дела внутри блока.

Когда спичка найдена, и работа сделана, настало время для перерыва. Нет необходимости в большем тестировании.

Перерыв может сэкономить много времени выполнения, поскольку он "игнорирует" выполнение всего остального кода в блоке switch.

Не обязательно ломать последний случай в блоке переключателя. Блок ломается (заканчивается) там в любом случае.


Ключевое слово по умолчанию

Ключевое слово Default указывает код для выполнения, если совпадений нет.

Пример

Метод getDay () возвращает день недели как число от 0 до 6.

Если сегодня нет ни субботы (6), ни воскресенья (0), напишите сообщение по умолчанию:

switch (new Date().getDay()) {
    case 6:
        text = "Today is Saturday";
        break;
    case 0:
        text = "Today is Sunday";
        break;
    default:
        text = "Looking forward to the Weekend";
}

The result of text will be:

По умолчанию регистр не обязательно должен быть последним в блоке переключателя:

Пример

switch (new Date().getDay()) {
    default:
        text = "Looking forward to the Weekend";
        break;
    case 6:
        text = "Today is Saturday";
        break;
    case 0:
        text = "Today is Sunday";
}

Если значение по умолчанию не является последним в блоке переключателя, не забудьте завершить обращение по умолчанию с разрывом.


Общие блоки кода

Иногда требуется, чтобы различные варианты переключения использовали один и тот же код.

В этом примере CASE 4 и 5 используют один и тот же блок кода, а 0 и 6 используют другой блок кода:

Пример

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "Soon it is Weekend";
        break;
    case 0:
    case 6:
        text = "It is Weekend";
        break;
    default:
        text = "Looking forward to the Weekend";
}

Детали переключения

Если несколько вариантов соответствуют значению регистра, выбирается первый вариант.

Если совпадающие случаи не найдены, программа продолжает метку по умолчанию .

Если метка по умолчанию не найдена, программа переходит к операторам после переключателя.


Строгое сравнение

Варианты переключения используют строгое сравнение (= = =).

Значения должны быть одного и того же типа для сопоставления.

Строгое сравнение может быть истинным только в том случае, если операнды одного типа.

В этом примере не будет совпадения для x:

Пример

var x = "0";
switch (x) {
    case 0:
        text = "Off";
        break;
    case 1:
        text = "On";
        break;
    default:
        text = "No value found";
}