Въведение в случаите на превключване на JavaScript

В тази кратка статия ще ви запозная с случаите на превключване на JavaScript и как да ги използвате с практически примери.

Тази статия ще обясни по-добре с по-практически примери, които ще ви помогнат да разберете задълбочено случаите на превключване.

Предпоставки.

  • Основни познания за JavaScript
  • Редактор на код
  • Уеб браузър
  • Твоят мозък :)

А switchизявление може основно замени многобройните ifпроверки в JavaScript.

Той дава по-описателен начин за сравняване на стойност с множество варианти.

Синтаксисът на превключвателя

The switchима един или повече caseблокове и незадължителен случай по подразбиране.

switch(x) { case 'value1': // if (x === 'value1') //code here [break] case 'value2': // if (x === 'value2') //code here [break] default: //code here [break] }
  • Стойността на xсе проверява за строго равенство на стойността от първата case(т.е. value1), след това към втората ( value2) и т.н.
  • Ако се намери равенството, switchзапочва да изпълнява кода, започвайки от съответния case, до най-близкия break(или до края на switch).
  • Ако нито един случай не е съчетан, тогава defaultкодът се изпълнява (ако съществува).

Няколко реални примера

  • Лесен превключвател за възпроизвеждане и пауза

Операторът switchможе да се използва за множество клонове въз основа на число или низ:

switch (movie) { case 'play': playMovie(); break; case 'pause': pauseMovie(); break; default: doNothing(); }

Ако не добавите breakизявление, изпълнението ще "падне" до следващото ниво. От съществено значение е умишлено да маркирате падането с коментар, ако наистина сте имали предвид това да помогне за отстраняване на грешки:

switch (movie) { case 'play': // fallthrough case 'pause': pauseMovie(); break; default: doNothing(); }

Клаузата по подразбиране не е задължителна. Можете да имате изрази както в превключващата част, така и в случаите, ако искате; сравненията се извършват между двете с помощта на ===оператора:

switch (3 + 7) { case 5 + 5: correct(); break; default: neverhappens(); }
  • Simple Maths Calc Switch
let average = 2 + 6; switch (average) { case 4: alert( 'Too small' ); break; case 8: alert( 'Exactly!' ); break; case 10: alert( 'Too large' ); break; default: alert( "Incorrect values!" ); }

Тук switchзапочва да се сравнява average от първия caseвариант, който е 4. Мачът се проваля.

Тогава 8. Това е съвпадение, така че изпълнението започва от case 8най-близкото break.

Ако няма, breakизпълнението продължава със следващото caseбез никакви проверки.

Ето пример без break:

let average = 2 + 6; switch (average) { case 4: alert( 'Too small' ); case 8: alert( 'Exactly!' ); case 10: alert( 'Too big' ); default: alert( "Incorrect values!" ); }

В горния пример ще видим последователно изпълнение на три alerts:

alert( 'Exactly!' ); alert( 'Too big' ); alert( "Incorrect values!" );
  • getDay () метод за превключване на случай

В getDay()метода връща ден от седмицата като число между 0 и 6.

Неделя = 0, понеделник = 1, вторник = 2, сряда = 3, четвъртък = 4, петък = 5, събота = 6

Този пример използва номера на делничния ден, за да изчисли името на делничния ден:

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"; }

Резултатът от деня ще бъде текущият делничен ден в дневен формат

PS: Това ще се промени в зависимост от това, когато четете тази статия

Написах този член на 13/06/2019, който е четвъртък, така че резултатът ще бъде:

Thursday

Ключовата дума по подразбиране

В подразбиране ключова дума определя кода да се изпълнява, ако няма случай мач, по-скоро като друго изявление:

switch (new Date().getDay()) { case 6: text = "Today is Saturday"; break; case 0: text = "Today is Sunday"; break; default: text = "Its not weekend yet!"; }

Резултатът от текста ще бъде:

Its not weekend yet!

Случаят по подразбиране не трябва да е последният случай в блок за превключване:

switch (new Date().getDay()) { default: text = "Its not weekend yet!"; break; case 6: text = "Today is Saturday"; break; case 0: text = "Today is Sunday"; }
Ако по подразбиране не е последният случай в блока за превключване, не забравяйте да завършите случая по подразбиране с прекъсване.

Заключение

Има толкова много практически примери за случаи на превключване, можете да отидете на google.com и да стартирате бързо търсене на още примери за случаи на превключване.

Ако тази статия ви е помогнала, покажете я, като споделите.

Благодаря за четенето!