Ir directamente al contenido de esta página
Un bucle es la repetición de uno o varios enunciados un número determinado de veces.
Hay dos estructuras básicas para crear bucles: for y do … while.
forLa sintaxis de for es la siguiente:
for(contador;condición;variación_del_contador){
…enunciados a ejecutar…
}
Por partes:
Por ejemplo, supongamos que quiero lanzar una alerta por cada uno de los valores de una matriz que contiene los libros de James Ballard que tengo en mi estantería:
var obras = new Array();
obras[0] = "Aparato de vuelo rasante";
obras[1] = "Compañía de sueños ilimitada";
obras[2] = "Crash";
obras[3] = "El día de la creación";
obras[4] = "El mundo sumergido";
obras[5] = "Hola América";
obras[6] = "La exhibición de atrocidades";
obras[7] = "La isla de cemento";
obras[8] = "La sequía";
obras[9] = "Milenio negro";
obras[10] = "Mitos del futuro próximo";
obras[11] = "Playa terminal";
obras[12] = "Rascacielos"
obras[13] = "Super-Cannes";
obras[14] = "Zona de catástrofe";
for(var i=0;i<=14;i++){
alert(obras[i]);
}
El bucle comienza con i igual a 0, por lo que la alerta muestra Aparato de vuelo rasante. Como no hay más enunciados, tras ello i se incrementa —i++ es la sintaxis abreviada de i=i+1—, y repite la operación. Continúa haciendo lo mismo hasta que i es igual a 15, momento en que i<=14 se vuelve falsa, y el bucle deja de ejecutarse.
Hay que prestar especial atención a la hora de establecer las condiciones, puesto que un error de sintaxis puede llevar a que el bucle no se ejecute, o bien que se vuelva infinito. Un bucle como el siguiente:
for(var i=0;i>=100;i++){ … }
No se ejecutaría nunca, puesto que se ha indicado que el for se repita mientras que i sea mayor o igual a 100, lo cual ya no ocurre desde un primer momento. Por el contrario, este otro:
for(var i=0;i>=0;i++){ … }
Se ejecuta hasta el infinito, puesto que siempre que se actualice el valor de i será mayor que 0.
Ejemplos del empleo de for y alguna cosa más.
do … whileEl comportamiento de do … while es similar al de for, con la diferencia de que primero se ejecutan los enunciados y luego se comprueba la codición. Su sintaxis es:
do{
…enunciados a ejecutar…
} while (condición);
Si rehacemos el ejemplo anterior por medio de esta instrucción, tenemos el siguiente código:
var obras = new Array();
obras[0] = "Aparato de vuelo rasante";
…resto de los valores de la matriz…
obras[14] = "Zona de catástrofe";
var i = 0;
do{
alert(obras[i]);
i++;
} while (ilt;=14);
En este caso tenemos que declarar el contador —i— fuera de la estructura del bucle para poder emplearlo, y su valor se debe actualizar en un enunciado que forma parte del bloque a ejecutar. El resultado de ejecutarlo sería el mismo.
Ventajas o desventajas del uso de for en lugar de do … while no se me ocurren, aunque personalmente prefiero emplear el primero. Sólo hay que tener en cuenta un detalle que sí que los diferencia: en el de rehacer el bucle anterior que no se ejecutaba nunca —for(var i=0;i>=100;i++)—, si se programase por medio de do … while se ejecutaría una vez, puesto que la comprobación de la condición es posterior.
Programamos un ScrollTo en JavaScript que no depende de ninguna librería y que ocupa menos de 2Kb.
El W3C ha publicado la segunda edición de su recomendación XHTML Modularization 1.1, con algunos cambios menores.
Indicamos en una nota breve cómo eliminar los contenidos relacionados de un vídeo de YouTube o de una presentación de SlideShare, y de paso cómo incrustarlos en una página XHTML con un código válido.
(cc) CodexExempla.org, 2007–2010 Mapa del sitio | XHTML | CSS | AA