Diferencia entre revisiones de «Programación en JavaScript/Control/Condicionales»

Contenido eliminado Contenido añadido
Resaltado de sintaxis y añadido de default en switch
Línea 9:
Pues en un programa podemos realizar el mismo tipo de decisiones, gracias a la instrucción IF:
 
<source lang=javascript>
if (condición) {
un código cualquiera
Línea 15 ⟶ 16:
otro código cualquiera
}
</source>
 
Veamos lo que tenemos aquí. Primero, comprobamos la condición en la que vamos a basar nuestra decisión. Después veremos cómo crear condiciones. Si la condición es válida (si es verdadera), se ejecutará el primer bloque de código que está entre llaves ({}), y si no, se ejecutará el siguiente bloque de código, el que se encuentra debajo de la palabra else. Esto lo interpretaríamos así:
Línea 22 ⟶ 24:
De esta forma, podemos tomar decisiones simples que nos permiten cambiar el código que ejecuta el navegador, de forma que podemos controlar su ejecución fácilmente. Un ejemplo es este:
 
<source lang=javascript>
var edad = 18;
if (edad >= 18) {
Línea 29 ⟶ 32:
alert("Eres menor de edad");
}
</source>
 
Primero definimos una variable “edad” con el valor numérico “18”. Después, comprobamos si el sujeto es o no mayor de edad comprobando el valor de la variable:
Línea 38 ⟶ 42:
Pero, ¿Qué ocurre cuando queremos hacer varias comprobaciones al mismo tiempo? Entonces podemos usar la instrucción else if.
 
<source lang=javascript>
if (edad > 18) {
alert("Tienes más de 18 años");
Línea 47 ⟶ 52:
alert("Tienes menos de 18 años");
}
</source>
 
De esta forma, podemos extender las condiciones todo lo que queramos para cubrir todos los casos necesarios. Hay que destacar que todas las condiciones son sucesivas y que sólo se ejecuta una de ellas. Además, el último else es el que se ejecuta en el caso de que ninguno de los ifs anteriores sea válido.
Línea 84 ⟶ 90:
Podemos crear condiciones simples usando los operadores relacionales, y después formar condiciones más complejas juntando otras más simples usando los operadores lógicos. Por ejemplo:
 
<source lang=javascript>
if (edad > 6 && edad < 12) alert("Eres un niño");
else if (edad >= 12 && edad < 18) alert("Eres un adolescente");
Línea 89 ⟶ 96:
else if (edad >= 31 || edad <= 6) alert("No perteneces a los grupos de edad");
else alert ("Tu debes de ser muy raro");
</source>
 
Aquí hemos anidado varias condiciones para poder mostrar mensajes dependiendo de la situación en que nos encontremos. Podemos ver cómo juntando varias condiciones por medio de los operadores lógicos podemos tomar decisiones más complejas de las que veíamos al principio del tema. Debemos usar && cuando queramos que la resolución de la condición se encuentre incluida en las dos condiciones que indicamos. Debemos usar || cuando queramos que la resolución de la condición no se incluya en las condiciones que usamos. Así, cuando decimos que: (edad >= 31 || edad <= 6), estamos indicando que el resultado ha de ser o bien mayor de 31 o menor de 6, pero nunca se encontrara en las dos condiciones a la vez, al contrario que con && (que indica que se tienen que cumplir las dos condiciones a la vez para que sea verdad). De esta forma, podemos tomar decisiones que nos permitirán controlar mejor el flujo del programa.
Línea 96 ⟶ 104:
Hemos visto cómo gracias a if podemos decidir qué hacer en determinadas situaciones. Pero a veces sólo querremos decidir entre unos valores, y ejecutar código dependiendo de los posibles valores de una variable o devueltos por una función. Para no ensuciar tanto el codigo usando muchos "if"'s en este caso podemos usar un código semejante a éste (estructura case):
 
<source lang=javascript>
switch (variable) {
case valor1:
Línea 108 ⟶ 117:
// código para valor3, valor4 y valor5
break;
default:
//código si no es ninguno de los anteriores
}
</source>
 
En este ejemplo, comprobamos varios valores de la variable "variable", de forma que cada uno de ellos permite ejecutar un código diferente dependiendo de la situación. Ahora bien, si nos fijamos en valor3, valor4 y valor5, comprobamos que sólo se ejecutará el código que aparece bajo valor5, porque los otros valores están vacíos, pero también porque no tienen una cláusula break. Esta palabra reservada corta la ejecución del código Javascript en el punto en que aparece, saliendo del bloque de código en el que se encuentra. Esto también nos servirá, por ejemplo, cuando veamos bucles, justo dentro de un momento.