sábado, 22 de mayo de 2010

Estructuras de control

Estructuras de control


JavaScript posee las sentencias de control típicas de los lenguajes de alto nivel. A continuación veremos la sintaxis de las mismas.

1. Declaración de variables.

En cuanto a las variables en JavaScript decir que no se les asigna un tipo predefinido. En JavaScript el tipo de las variables dependen del valor que contengan las mismas en cada momento. Por tanto se realiza una conversión automática de tipos.

JavaScript reconoce los siguientes tipos de valores:

1. Números: enteros y reales.
2. Valores booleanos: true y false.
3. Strings.
4. El valor null.
5. Los objetos: Creados por el programador o predefinidos por el lenguaje.

Dado que no existen tipos de variables a priori, no hemos de especificar el tipo de variable cuando la declaramos. La declaración de variables se hace anteponiendo la palabra reservada var al nombre de la variable.

var mi_variable;

Es posible asignarle el valor cuando la declaramos, por ejemplo:

var mi_entero = 124;

2. La sentencia if.

La sentencia if tiene la forma:

if ( Condición ) Instrucción 1 o bloque de instrucciones;
[ else Instrucción 2 o bloque de instrucciones; ]

Los paréntesis asociados que delimitan la condición no son opcionales. En caso de que la condición sea verdadera se ejecutará la instrucción 1; en caso contrario se ejecuta si existe la instrucción 2.

Un bloque de instrucciones es un conjunto de intrucciones delimitadas por llaves. Es decir:

{
Instrucción 1;
Instrucción 2;
...
Instrucción N;
}

3. La sentencia while.

La sentencia while tiene la forma:

while ( Condición ) Instrucción o bloque de instrucciones;

Los paréntesis no son opcionales. Si se cumple la condición se ejecute la instrucción o el bloque de instrucciones y se repite el proceso.

4. La sentencia for.

En cuando a dicha sentencia, en JavaScript podemos distinguir dos variantes:

5. El bucle for "clásico".

Este bucle, como a continuación podremos ver, tiene una sintaxis muy parecida a la de C/C++.

for ([inicialización]; [condición]; [expresión] )
Instrucción o bloque de instrucciones;

En esta sintaxis:

Inicialización: Crea la variable contador y le da un valor inicial.

Condición: lo que se debe cumplir para que el bucle se ejecute. Depende de la variable índice.

Actualización: Actualiza el valor de la variable índice.

El equivalente de esta expresión con while es:

inicialización;
while (condición )
{
Instrucción 1;
Instrucción 2;
...
Instrucción N;
expresión;
}

6. El bucle for/in.

Esta estructura itera una variable var sobre todas las propiedades de un objeto obj que se le pasa. Así para cada valor de var se ejecutaran las sentencias del bucle. Por lo tanto, el bucle tendrá tantas iteraciones como propiedades el objeto y en cada iteración la variable tendrá el valor de la propiedad del objeto correspondiente con dicha iteración. Su sintaxis es:

for (var in obj)
Instrucción o bloque de instrucciones;

7. La sentencia break.

La sentencia break se puede colocar dentro de un bucle o bucles anidados. Cuando se ejecuta la sentencia break se abandona el bucle más interno. A todos los efectos la sentencia break actúa como un salto a la instrucción siguiente al bucle en el que se ejecuta.

8. La sentencia continue.

La sentencia continue, no abandona el bucle si no hace que se ejecute la siguiente iteración. En el bucle while la ejecución del continue hace que el flujo del programa salte a la condición. En el bucle for la ejecución del continue hace que la expresión de incremento, para después continuar normalmente con la condición. Es decir, la ejecución del continue evita que se ejecute el resto del cuerpo del bucle.

9. La sentencia switch.

Hace que se seleccione un grupo de sentencias entre varias posibles. Su sintaxis es:

switch ( Expresión )
{
case Valor 1: Instrucción o bloque de instrucciones;
[break;]
case Valor 2: Instrucción o bloque de instrucciones;
[break;]
case Valor 3: Instrucción o bloque de instrucciones;
[break;]
...
case Valor N: Instrucción o bloque de instrucciones;
[break;]
[default:]Instrucción o bloque de instrucciones;
}

La expresión entre paréntesis del switch debe ser entera. Su resultado se comparará con los distintos valores del case. Si coincide con uno de ellos se pasará a la instrucción siguiente al case con dicho valor y se seguirán ejecutando las instrucciones consecutivas hasta encontrar una instrucción break o alcanzar el cierra llaves del switch. En caso de que el resultado de la expresión no coincida con ningún valor se pasará la ejecución a la instrucción siguiente de la etiqueta default, si la hubiera, y se continuará como un case. Los valores en los case pueden ser una expresión constante. No puede haber dos case con el mismo valor

No hay comentarios:

Publicar un comentario