Breaking News

Switch Case

JavaScript - Switch Case


Puede usar múltiples instrucciones if... else... if , como en el capítulo anterior, para realizar una bifurcación multivía. Sin embargo, esta no siempre es la mejor solución, especialmente cuando todas las ramas dependen del valor de una sola variable.
A partir de JavaScript 1.2, puede usar una instrucción cambiar que maneja exactamente esta situación, y lo hace de manera más eficiente que las instrucciones si... else if repetidas.

Diagrama de flujo


El siguiente diagrama de flujo explica que una sentencia switch-case funciona.


Sintaxis


El objetivo de una instrucción cambiar es dar una expresión para evaluar y varias declaraciones diferentes para ejecutar en función del valor de la expresión. El intérprete verifica cada caso contra el valor de la expresión hasta que se encuentra una coincidencia. Si no coincide nada, se usará una condición predeterminada .
switch (expression)
{
   case condition 1: statement(s)
   break;
   
   case condition 2: statement(s)
   break;
  ...
   
   case condition n: statement(s)
   break;
   
   default: statement(s)
}
Las declaraciones break indican el final de un caso particular. Si se omitieran, el intérprete continuaría ejecutando cada declaración en cada uno de los siguientes casos.
Explicaremos la declaración break en el capítulo Control de bucle .

Ejemplo


Pruebe el siguiente ejemplo para implementar la sentencia switch-case.
<html>
   <body>
   
      <script type="text/javascript">
         <!--
            var grade='A';
            document.write("Entering switch block<br />");
            switch (grade)
            {
               case 'A': document.write("Good job<br />");
               break;
            
               case 'B': document.write("Pretty good<br />");
               break;
            
               case 'C': document.write("Passed<br />");
               break;
            
               case 'D': document.write("Not so good<br />");
               break;
            
               case 'F': document.write("Failed<br />");
               break;
            
               default:  document.write("Unknown grade<br />")
            }
            document.write("Exiting switch block");
         //-->
      </script>
      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Salida


Entering switch block
Good job
Exiting switch block
Set the variable to different value and then try...
Las declaraciones de interrupción juegan un papel importante en las declaraciones de mayúsculas y minúsculas. Pruebe el siguiente código que usa la sentencia switch-case sin ninguna sentencia break.
<html>
   <body>
      
      <script type="text/javascript">
         <!--
            var grade='A';
            document.write("Entering switch block<br />");
            switch (grade)
            {
               case 'A': document.write("Good job<br />");
               case 'B': document.write("Pretty good<br />");
               case 'C': document.write("Passed<br />");
               case 'D': document.write("Not so good<br />");
               case 'F': document.write("Failed<br />");
               default: document.write("Unknown grade<br />")
            }
            document.write("Exiting switch block");
         //-->
      </script>
      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Salida


Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block
Set the variable to different value and then try...

No comments