Tutorial JavaScript


Lazos

Lección 4

Introducción

Existen dos partes principales para JavaScript: la sintaxis del lenguaje y su biblioteca de objetos. En la lección 2, la cual fue una introducción para la sintaxis, vimos las variables, sentencias y cláusulas if-then, que son partes de todos los lenguajes de programación. Ahora es tiempo de aprender el resto de la sintaxis JavaScript.

Existen sólo tres aspectos principales de la sintaxis de JavaScript que aún tenemos que cubrir: lazos, arreglos y funciones.


Lazos

A veces quiere hacer la misma cosa una y otra vez. Digamos, por ejemplo, que quiere obtener una contraseña de alguien y quiere quedarse preguntando hasta que le ha dado la contraseña correcta. Si sólo quiere darle dos posibilidades, podría hacer algo como:

var the_password = "pass the wrench";

var answer = prompt("What's the woyd?","");

if (answer != the_password) {

answer = prompt("What's the woyd?","");

if (answer != the_password) {

document.write("You lose!<p>");

} else {

document.write("That's right!<p>");

}

} else {

document.write("That's right!<p>");

}


Desafortunadamente, esta clase de cosas no funciona si quiere seguir preguntando hasta que ingrese la correcta. Y es bastante desagradable, imagine que quiere preguntar cuatro veces en lugar de sólo dos. Tendría cuatro niveles de cláusulas if-then, lo cual no es una buena cosa.

La mejor forma de hacer algo similar, es usar un lazo. En este caso, puede usar un lazo preguntando una y otra vez hasta que la persona desista. Veamos un ejemplo con un lazo en acción. La contraseña es: pass the wrench.


Contraseña en un lazo

 

Ejemplo22_0.html

<html>

<head>

<title>Pedido de contraseña</title>

<script language="JavaScript">

var password="salto y gracia";

var answer;

while (answer != password)

{

answer = prompt("¿Cuál es la contraseña?","");

if ( answer == null) break;

document.writeln(answer);

}

</script>

</head>

<body>

Esto es todo

</body>

</html>


Veamos este ejemplo línea por línea.

La declaración típica de variables:

var password="salto y gracia";

var answer;

Aquí definimos la contraseña como una tira y declaramos una variable llamada answer. Verá porque tenemos que declarar answer en un segundo. Las siguientes líneas son las importantes:

 

while (answer != password)

{

answer = prompt("¿Cuál es la contraseña?","");

if ( answer == null) break;

document.writeln(answer);

}


Este es el lazo while. La forma general de un lazo while tiene la forma:


while (algún test es verdadero)

{

hacer algo dentro de las llaves

}


Por lo tanto las líneas de arriba dicen, "Mientras la respuesta no sea igual a la contraseña y no haya presionado el botón cancelar, ejecute la orden prompt".

Hemos tenido que declarar answer porque efectuar un test como (answer != password) sobre una variable no declarada dará error en algún navegador. Por lo tanto la primera vez no tendrá valor alguno, al definirla antes le estamos asignando el valor nulo. Si presiona el botón cancelar le está asignando el valor nulo, como luego verifica si answer tiene nulo, de ser así abortará y seguirá ejecutándose el programa. Pero si no ingresa nada y presiona el botón aceptar, el programa continúa, esto es debido a que en ese caso la variable vale blanco, lo cual es distinto de nulo.

 

<<<Anterior - Siguiente>>>


¡Visita también estos sitios interesantes!

Sitio alojado en Yaia.com