SENTENCIAS DE CONTROL
Es la manera que tiene JavaScript de provocar que el flujo de la ejecución avance y se ramifique en función de los cambios y estado de los datos.
IF-ELSE:
La ejecución atraviesa un conjunto de estados boolean que determinan que bloques de código se ejecutan. Con la utilización de esta sentencia nunca se realizarán ambos bloques de código.
SINTAXIS: En caso de ser una sola sentencia por parte las llaves son opcionales.
if (expresion-booleana)
{
Sentencia(s);
{
[else]
{
Sentencia(s);
}
La cláusula else es opcional. La expresión puede ser de cualquier tipo y más de una (siempre que se unan mediante operadores lógicos).Otra opción posible es la utilización de if anidados, es decir unos dentro de otros compartiendo la cláusula else.
EJEMPLO 1:
<html>
<head>
<script>
function ver()
{
var edad=parseInt(cedad.value);
if(edad<=18)
alert("No tienes acceso\nDebes tener 18");
else
alert("Bienvenido a la pagina");
}
</script>
<title>Pagina nueva 1</title>
</head>
<body>
Edad:
<input type="text" name="cedad" size="3" onBlur=ver();>
</body>
</html>
EJEMPLO 2:
<html>
<head>
<script>
function ver()
{
var edad=parseInt(cedad.value);
if(edad<=18)
alert("Abono Joven");
else
{
if(edad>=65)
alert("Abono 3ª Edad");
else
alert("Abono normal");
}
}
</script>
<title>Pagina nueva 1</title>
</head>
<body>
Edad:
<input type="text" name="cedad" size="3" onBlur=ver();>
</body>
</html>
SWITCH:
Es una sentencia muy similar a if-else. Si los valores con los que se compara son números se pone directamente el pero si es texto se debe encerrar entre comillas. La sintaxis de esta sentencia es:
SINTAXIS:
switch (expresión){
case constante1:
sentencia(s);
break;
case constante2:
sentencia(s);
break;
case constante3:
sentencia(s);
break;
case constanteN:
sentencia(s);
break;
[default:]
sentencia(s);
}
El valor de la expresión se compara con cada una de las constantes de la sentencia case, si coincide alguno, se ejecuta el código que le sigue, y cuando ejecuta break sale de este bloque hasta salir del switch. Si ninguno coincide se realiza el bloque default (opcinal), si no lo hay no se ejecuta nada.
En el caso que varias sentencias case realicen la misma ejecución se pueden agrupar, utilizando una sola sentencia break. Evitamos de este modo duplicar líneas de código. La sintaxis es la siguiente:
SINTAXIS:
switch (expresión){
case constante1:
case constante5:
sentencia(s);
break;
case constante3:
sentencia(s);
break;
[default:]
sentencia(s);
}
EJEMPLO:
<html>
<head>
<script>
function espe()
{
var tipo=cespe.value;
switch(tipo)
{
case "humano":
alert("Eres un Humano");
break;
case "planta":
alert("Eres un Vegetal");
break;
case "animal":
alert("Eres del reino Animal");
break;
default:
alert("Especie Desconocida");
break;
}
}
</script>
</head>
<body>
ESPECIE:
<input type="text" name="cespe" size="20" onBlur=espe();>
</body>
</html>
WHILE:
Ejecuta repetidamente el mismo bloque de código hasta que se cumpla una condición de terminación. Hay cuatro partes en todos los bucles. Inicialización, cuerpo, iteración y condición.
SINTAXIS:
[inicialización;]
while(condicion[es])
{
cuerpo;
[iteración;]
}
DO..WHILE:
Es lo mismo que en el caso anterior pero aquí como mínimo siempre se ejecutará el cuerpo del bucle una vez, en el tipo de bucle anterior es posible que no se ejecute ni una sola vez el contenido de este.
SINTAXIS:
[inicialización;]
do{
cuerpo;
[iteración;]
}while(condición);