Combinar condiciones en JavaScript

Si recuerdas el ejemplo del apartado anterior, comparábamos un día de un mes para comprobar si era mayor o menor de 29. Esto era así, porque estábamos tratando del mes de Febrero, pero ¿qué ocurre si el mes no es Febrero? en este caso, el valor 29 sería correcto, ya que cualquiera de los meses restantes tiene más de 29 días.

La solución podría ser combinar dos condiciones de la siguiente forma:

if (dia>29 && mes==”Febrero”)

{

alert(“día incorrecto”)

}

De esta forma estamos evaluando dos condiciones. && significa “y”. Por lo tanto, es como si decimos:

Si el día es mayor de 29 y el mes es Febrero

{

Visualiza el mensaje “día incorrecto”

}

De esta forma, si el día es mayor de 29, pero el mes no es Febrero, no aparecerá ningún mensaje, ya que se tomaría como un día correcto

El “y” lógico (&&) es muy útil cuando queremos comprobar un intervalo. Por ejemplo, supongamos que necesitamos que un número esté comprendido entre 10 y 20, podemos hacer una comprobación de esta forma:

if (num>=10 && num<=20)

{

alert(“número correcto”)

}

else

{

alert(“número incorrecto”)

}

Es como si decimos:

Si el número es mayor o igual que 10 y menor o igual que 20

{

visualiza (“número correcto”)

}

en caso contrario

{

visualiza(“número incorrecto”)

}

De esta forma estamos delimitando el número entre 10 y 20.

Fíjate que es importante que la línea del if sea esta:

if (num>=10 && num<=20)

Es decir, num>=10, significa que el número puede ser 10 o mayor y num <=20 significa que el número tiene puede ser igual o menor que 20. O sea que los números posibles son 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 y 20

Si modificamos la línea anterior por:

if (num>10 && num<20)

Estaríamos indicando que los números 10 y 20 no entran en las posibilidades, solo desde el 11 hasta el 19.

Igual que hemos utilizado el y lógico (&&) también existe el o lógico (||):

if (mes=”Enero” || mes=”Febrero” || mes= “Marzo”)

{

alert(“Primer trimestre”)

}

Esto sería equivalente a decir:

Si el mes es Enero o el mes es Febrero o el mes es Marzo

{

visualiza(“primer trimestre”)

}

Fíjate que en este caso sería absurdo:

if (mes=”Enero” && mes=”Febrero” && mes= “Marzo”)

ya que un mes no puede ser Enero, Febrero y Marzo a la vez

Anidar If

Un uso algo más avanzado (pero muy importante) es anidar varios if:

if (mes=”Febrero”)

{

if (dia>29)

{

alert(“día incorrecto”)

}

else

{

alert(“día correcto”)

}

}

Fíjate que en este caso se comprueba que el mes sea Febrero. Si es así, lo primero que se hace es comprobar si el día es mayor de 29. En caso afirmativo, se visualiza el mensaje de ‘día incorrecto’ y si no el mensaje es ‘día correcto’.

Se pueden añadir varios if anidados unos dentro de otros para evaluar condiciones complejas.

En este caso, el código se complica un poco más. Ten en cuenta que un solo error (poner un if en un sitio equivocado, por ejemplo) haría que toda la estructura no funcionara.

También es muy importante que te fijes en las llaves {}. Todos los if y else deben tener sus dos llaves para delimitar exactamente qué se hace en cada caso, de lo contrario, el resultado puede ser erróneo.

Share This Post

Recent Articles

Leave a Reply

© 2012 Territorio PC. All rights reserved. Site Admin · Entries RSS · Comments RSS
Powered by WordPress · Designed by Theme Junkie