La sentencia switch al igual que la anterior sentencia “si condicional” permite realizar ciertas acciones dependiendo del valor y evaluación de una variable. Es decir, realiza la comprobación del valor de una variable y según su valor ejecuta unas ordenes u otras.

La sintaxis que se ha de utilizar para la sentencia switch, es la siguiente.



switch ( variable_a_evaluar ) {
  case Valor :
    acción/es a realizar …;
    break;
  case Valor :
    acción/es a realizar …;
    break;
  default:
    acción/es a realizar;
    break;
}

 

Para comprender su funcionamiento mejor, vamos a plantear un caso en el cual se solicita el “estado civil” de una persona, las opciones posibles serán “casado”, “separado”, “soltero” y “viudo”, a las distintas opciones le asignaremos un valor a cada una desde 1 a 4, y la sentencia switch ha de evaluar el valor y según cual sea visualizar un mensaje u otro. El ejercicio planteado podría ser el siguiente.

var estadocivil = 1;
switch ( estadocivil ) {
case 1:
    document.write(“El  usuario/a está casado/a”);
    break;
  case 2:
    document.write(“El usuario/a está separado/a”);
    break;
  case 3:
    document.write(“El usuario/a está soltero/a”);
    break;
case 4:
    document.write(“El usuario/a está viudo/a”);
    break;
default:
    document.write(“El usuario/a  no ha tecleado una opción válida”);
    break;
}

La sentencia “break”, que incluye cada grupo de instrucciones, hace que el programa solo ejecute las acciones que corresponden al valor evaluado, si se omite el programa continuara ejecutando las sentencias de los diferentes casos expresados en la sentencia switch.

Aprovechando esta circunstancia, se puede utilizar “break” o no para examinar “rangos” de valores, supongamos que se quiere realizar un programa en el cual se solicita un valor de 1 a 10 y dependiendo de si el valor introducido es de 1 a 4, el descuento de un artículo será del 2%, si es de 5 a 8 será del 3% y si es de 9 a 10 será del 4%. Teniendo en cuenta los parámetros anteriores puede quedar así su programación.

var tipo = 7;
switch( tipo ) {
  case 1:
  case 2:
  case 3:
  case 4:
       descuento = 2/100;
       break;
  case 5:
  case 6:
  case 7:
  case 8:
       descuento = 3/100;
       break;
  case 9:
  case 10:
       descuento = 4/100;
       break;
  default:
       descuento = 0;
       break;
}

Gracias por vuestra visita y un saludo!!!