Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] condicional SWITCH. Expresiones dentro del case.

Estas en el tema de condicional SWITCH. Expresiones dentro del case. en el foro de Javascript en Foros del Web. Hola, estoy empezando a estudiar Java Script y estoy un poco confundida con el switch . En todos los ejemplos veo que al case el ...
  #1 (permalink)  
Antiguo 30/07/2016, 12:28
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 9 meses
Puntos: 6
condicional SWITCH. Expresiones dentro del case.

Hola,

estoy empezando a estudiar Java Script y estoy un poco confundida con el switch.
En todos los ejemplos veo que al case el ponen un número (case 1) o bien un (string "").

¿Se pueden poner expresiones en el case? por ejemplo.....:

Código Javascript:
Ver original
  1. switch(num){
  2.               case [B](num>0)[/B]:
  3.                  document.getElementById("salida").value="El " + num + " es positivo";
  4.                  break;
  5.               case (num<0):
  6.                  document.getElementById("salida").value="El " + num + " es negativo";
  7.                  break;
  8.               case (num==0):
  9.                   //mas codigo...

No me sale así, y no sé como se podrían poner expresiones de ese tipo, si es entre paréntesis o no, o simplemente el case es más limitado.

Gracias de antemano!!!
  #2 (permalink)  
Antiguo 30/07/2016, 13:31
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: condicional SWITCH. Expresiones dentro del case.

Ve esto:

Código HTML:
Ver original
  1.     <head>
  2.         <title>Switch condicional</title>
  3.    
  4.         <script type="text/javascript">
  5.         function some(id, num){
  6.         elemento = document.getElementById(id);
  7.         num = parseInt(num);
  8.             switch(true) {
  9.                 case num>0:
  10.                     elemento.value="El num es positivo";
  11.                     break;
  12.                 case num<0:
  13.                     elemento.value="El num es negativo";
  14.                     break;
  15.                 default:
  16.                     elemento.value="El num es 0";
  17.             }
  18.         }
  19.         </script>
  20.     </head>
  21.     <body>
  22.    
  23.         <input type="button" value="go!" onclick="some('el', document.getElementById('num').value);" /><br/>
  24.         <select id="num">
  25.             <option value="1">1</option>
  26.             <option value="-1">-1</option>
  27.             <option value="0">0</option>
  28.         </select><br/>
  29.         <input type="text" id="el" />
  30.     </body>
  31. </html>

Espero se entienda el porqué del switch. sino te puedo explicar.


De todos modos para manejar condicionales como las que planteas y para más complejas te recomiendo usar if, else if, y else

Saludos

Edité

Última edición por alvaro_trewhela; 30/07/2016 a las 15:27
  #3 (permalink)  
Antiguo 30/07/2016, 17:28
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 9 meses
Puntos: 6
Respuesta: condicional SWITCH. Expresiones dentro del case.

Muchas gracias alvaro_trewhela, era precisamente lo que buscaba.

Entiendo que el true es para decir que se escoja la condición que sea la verdadera en ese momento.

Cita:
De todos modos para manejar condicionales como las que planteas y para más complejas te recomiendo usar if, else if, y else
Nuestro profesor nos dijo que usáramos el IF sólo para condiciones máximo de un número de 3, y los casos con más números de condiciones, el switch, lo contrario de lo que me comentas. Precisamente porque esta vez son cuatro prefería usar el switch (le quiero poner la condición no válida de que alguien no ponga un número entero o ponga una cadena de texto).

La verdad es que pienso que para muchas condiciones y complicadas se ve más ordenado el switch tal y como decia mi profe, y es más facil perderse con los if else if anidados. Tampoco lo sé bien, pues no estoy avanzada en esto.

Gracias!
  #4 (permalink)  
Antiguo 30/07/2016, 18:26
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: condicional SWITCH. Expresiones dentro del case.

Buenísimo, en cuanto a los ifs. era solo una recomendación, no me hagas caso ni a mí ni a tu profe usa lo que a ti te resulte más comodo en el momento.

Saludos.

P.S: Hazle caso a tu profe cuando te evalúe jajaja

Última edición por alvaro_trewhela; 30/07/2016 a las 19:09

Etiquetas: condicional, expresiones, switch
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.