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

Contenido eliminado Contenido añadido
Sin resumen de edición
(Sin diferencias)

Revisión del 12:02 18 jul 2005

If.

Pues en un programa podemos realizar el mismo tipo de decisiones, gracias a la instrucción IF:

   if (condición) {
           un código cualquiera
   }
   else {
           otro código cualquiera
   }

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í:

Si la condición es verdadera, ejecutamos un código cualquiera, y si no, otro código cualquiera.

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:

   var edad = 18;
   if (edad >= 18) {
           alert("Eres mayor de edad");
   }
   else {
           alert("Eres menor de edad");
   }

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:

Si edad es mayor o igual que 18, entonces le decimos que es mayor de edad, y si no, le decimos que es menor de edad.

alert() es una función de Javascript que nos permite mostrar un mensaje en pantalla.

Pero, ¿Qué ocurre cuando queremos hacer varias comprobaciones al mismo tiempo? Entonces podemos usar la instrucción else if.

   if (edad > 18) {
           alert("Tienes mas de 18 años");
   }
   else if (edad == 18) {
           alert("Tienes 18 años");
   }
   else {
           alert("Tienes menos de 18 años");
   }

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.

Para crear condiciones, debemos usar dos elementos nuevos: los operadores lógicos y los condicionales. Los operadores lógicos son 3:

Operador Significado
&& Y
|| O
! NO

Y los condicionales son:

Operador Significado
== Equivalencia
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
!= Distinto de

Podemos crear condiciones simples usando los operadores condicionales, y después formar condiciones más complejas juntando otras más simples usando los operadores lógicos. Por ejemplo:

   if (edad > 6 && edad < 12) alert("Eres un niño");
   else if (edad >= 12 && edad < 18) alert("Eres un adolescente");
   else if (edad >= 18 && edad < 31) alert("Eres un joven");
   else if (edad >= 31 || edad <= 6) alert("No perteneces a los grupos de edad");
   else alert ("Tu debes ser muy raro");

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 menor de 31 o mayor de 6, pero no se encontrara en ninguna de las dos condiciones, al contrario que con &&. De esta forma, podemos tomar decisiones que nos permitirán controlar mejor el flujo del programa.

Switch.

Hemos visto cómo gracias a if podemos decidir qué hacer en determinadas situaciones. Pero a veces no necesitamos algo tan complicado. 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. En ese caso usamos un código semejante a éste:

   switch (variable) {
           case valor1:
                   // código para valor1
                   break;
           case valor2:
                   // código para valor2
                   break;
           case valor3:
           case valor4:
           case valor5:
                   // código para valor3, valor4 y valor5
                   break;
   }

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.

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 si ocurre.