The switch construct replaces several if once. 
  This is a more visual way of comparing an expression with several options at once. 
  Syntax 
  It looks like this: 
  Work example 
  An example of using a switch (the code that worked is highlighted): 
  Only one value will be displayed corresponding to 4 .  After that break will abort execution. 
  If it is not interrupted, it will go further, while the remaining checks are ignored. 
  For example: 
  In the example above, three alert be executed in sequence. 
  alert( 'Я таких значений не знаю' );  | 
  In case can be any expressions , including variables and functions. 
  For example: 
  case grouping 
  Multiple case values can be grouped. 
  In the example below, case 3 and case 5 execute the same code: 
  With case 3 execution goes from line (3) and goes down to the nearest break , thus passing what is intended for case 5 . 
  Importance: 5 
  If the condition is strictly followed, the comparison should be strict '===' . 
  In the real case, the usual comparison is likely to be '==' . 
 1  |    if (browser == 'IE' ) {  | 
 2  |      alert( 'О, да у вас IE!' );  | 
 3  |    } else if (browser == 'Chrome' || browser == 'Firefox'  | 
 4  |     || browser ==  || browser == 'Safari' || browser ==  || browser == 'Opera' ) {  | 
 5  |      alert( 'Да, и эти браузеры мы поддерживаем' );  | 
 7  |      alert( 'Мы надеемся, что и в вашем браузере все ок!' );  | 
  As you can see, this record is much worse read than the switch construction. 
  [Open task in new window] 
  Type matters 
  The following example takes value from the visitor. 
  What will it display when entering numbers 0, 1, 2, 3?  Think and read on ... 
-   If you enter 
0 or 1 first alert will be executed, then the execution will continue down to the first break and output the second alert('Два') .  -   If you enter 
2 , switch goes to case '2' and prints Два .  -   When you enter 
3 , switch switches to default .  This is because the prompt returns the string '3' , not a number.  Types are different.  Switch uses strict equality === , so there will be no coincidence.  -   When canceled, 
case null will work.  
  Importance: 4 
  The first two checks are the usual case , the third is divided into two case : 
  Pay attention: break below is not obligatory, but is set according to the “rules of good form”. 
  If it is not worth it, then when adding a new case to the end, for example case 4 , we will most likely forget to put it.  As a result, the execution of case 2 / case 3 will continue on case 4 and there will be an error. 
Comments
To leave a comment
Scripting client side JavaScript, jqvery, BackBone
Terms: Scripting client side JavaScript, jqvery, BackBone