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

Contenido eliminado Contenido añadido
Raulbcneo (discusión | contribs.)
Raulbcneo (discusión | contribs.)
Sin resumen de edición
Línea 4:
|siguiente=Control/Bucles
}}</noinclude>
 
__TOC__
 
== If ==
Línea 46 ⟶ 48:
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 ''if'' anteriores sea válido.
 
== Switch ==
=== Operadores lógicos y relacionales ===
 
Hemos visto cómo gracias a ''if-else'' 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 muchas sentencias ''if'' podemos usar la sentencia '''switch-case''':
 
{{JavaScript/Reservada|switch}} (variable) {
{{JavaScript/Reservada|case}} valor1:
{{JavaScript///|codigo para valor 1}}
{{JavaScript/Reservada|break}};
{{JavaScript/Reservada|case}} valor2:
{{JavaScript///|codigo para valor 2}}
{{JavaScript/Reservada|break}};
{{JavaScript/Reservada|case}} valor3:
{{JavaScript/Reservada|case}} valor4:
{{JavaScript/Reservada|case}} valor5:
{{JavaScript///|codigo para valor 3, valor 4 y valor 5}}
{{JavaScript/Reservada|break}};
{{JavaScript/Reservada|default}}:
{{JavaScript///|código si no es ninguno de los anteriores}}
}
 
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.
 
Con esto, comprobamos que '''switch''' nos puede ayudar a ejecutar código de forma condicional, pero sin las complicadas operaciones que debemos realizar en ''if''. Sin embargo, ''switch'' no puede nunca sustituir a ''if'', situación que a la inversa sí ocurre.
 
=== Operadores lógicos y relacionales ===
 
Para crear condiciones, debemos usar dos elementos nuevos: los '''operadores lógicos''' y los '''operadores relacionales'''. Los operadores lógicos son 3:
Línea 90 ⟶ 116:
 
Aquí hemos anidado varias condiciones para poder mostrar mensajes dependiendo de la situación en que nos encontremos. Podemos ver cómo es posible tomar decisiones más complejas que las que veíamos al principio del tema juntando varias condiciones por medio de los operadores lógicos. Debemos usar '''&&''' (''AND'' lógico) cuando queramos que la resolución de la condición se encuentre incluida en las dos condiciones que indicamos. Debemos usar '''||''' (''OR'' lógico) 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 el flujo del programa.
 
== Switch ==
 
Hemos visto cómo gracias a ''if-else'' 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 muchas sentencias ''if'' podemos usar la sentencia '''switch-case''':
 
{{JavaScript/Reservada|switch}} (variable) {
{{JavaScript/Reservada|case}} valor1:
{{JavaScript///|codigo para valor 1}}
{{JavaScript/Reservada|break}};
{{JavaScript/Reservada|case}} valor2:
{{JavaScript///|codigo para valor 2}}
{{JavaScript/Reservada|break}};
{{JavaScript/Reservada|case}} valor3:
{{JavaScript/Reservada|case}} valor4:
{{JavaScript/Reservada|case}} valor5:
{{JavaScript///|codigo para valor 3, valor 4 y valor 5}}
{{JavaScript/Reservada|break}};
{{JavaScript/Reservada|default}}:
{{JavaScript///|código si no es ninguno de los anteriores}}
}
 
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.
 
Con esto, comprobamos que '''switch''' nos puede ayudar a ejecutar código de forma condicional, pero sin las complicadas operaciones que debemos realizar en ''if''. Sin embargo, ''switch'' no puede nunca sustituir a ''if'', situación que a la inversa sí ocurre.