Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/05/2013, 22:01
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: ¿Cómo cambiar de "if-else" a "switch"?

Como poder se puede, pero para lo que querés hacer lo correcto es usar el else if

Ejemplo

Código:
<script type="text/javascript">
//<![CDATA[

var valor=prompt("Ingrese un número entre 1 y 101");
valor = parseInt(valor);
if (valor >= 100) {
    alert('100');
} else if (valor >= 90) {
    alert('90');
} else if (valor >= 80) {
    alert('80');
} else if (valor >= 70) {
    alert('70');
} else if (valor >= 60) {
    alert('60');
} else if (valor >= 50) {
    alert('50');
} else if (valor >= 40) {
    alert('40');
} else if (valor >= 30) {
    alert('30');
} else if (valor >= 20) {
    alert('20');
} else if (valor >= 10) {
    alert('10');
} else {
    alert('z');
}


var valor2=prompt("Ingrese un número entre 1 y 101");
valor2 = parseInt(valor2);
switch(true){
case(valor2 >= 100 && valor2 < 200): 
alert('100');
break
case(valor2 >= 90 && valor2 < 100): 
alert('90');
break
case(valor2 >= 80 && valor2 < 90): 
alert('80');
break
case(valor2 >= 70 && valor2 < 80):
alert('70');
break
case(valor2 >= 60 && valor2 < 70 ):
alert('60');
break
case(valor2 >= 50 && valor2 < 60):
alert('50');
break
case(valor2 >= 40 && valor2 < 50 ):
alert('40');
break
case(valor2 >= 30 && valor2 < 40):
alert('30');
break
case(valor2 >= 20 && valor2 < 30):
alert('20');
break
case(valor2 >= 10 && valor2 < 20 ):
alert('10');
break
default:
alert('y');
break
}

//]]>
</script>
al ser true una constante, podés comparar la expresión contra eso, pero es completamente rebuscado e ineficaz, la expresión es más compleja y requiere de muchas más lineas de código para conseguir el mismo resultado

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.