Introducción al JavaScript (5)


Ya vimos en su día las funciones y que estas nos permitían reutilizar bloques de código... Pero no es práctico repetir 1000 veces una función. La idea es aprender mecanismos que nos permitan repetir cosas con cabeza... bucles!

for

El bucle for se suele utilizar cuando conocemos o podemos conocer el número de veces que vamos a repetir alguna cosa...

var i;
for (i=0; i<11; i++)
{
document.write(i);
}

Eso nos daría como resultado 012345678910, que no es que sea útil...

La idea es que el bucle for indica su condición inicial, su condición de parada (o de continuidad...) y su variación en el parámetro. En el ejemplo, establecemos una variable de control i que se inicializa a 0 y que, mientras sea menor que 11 hará lo que hemos puesto entre llaves. Tras cada pasada hará i++.


NOTA: i++ es lo mismo que i=i+1 y, en algunos lenguajes, que i+=1. Esto último, lo del i+=1, es el tipo de cosas que cuando las escribo me imagino a alguien diciendo "Noooooooo! Pero que diceeeeees!". Pero bueno, no voy a comprobarlo porque tampoco es que estemos siendo muy técnicos en esta introducción. Lo probáis y si no funciona, me ponéis un comentario pidiendo que os devuelva el dinero... Oh! Wait!... (Vaya día que llevo...)


NOTA: Mua ha ha ha ha! (Thunderclap) Me acabo de dar cuenta de que estoy utilizando el verbo "inicializar" y el corrector no lo reconoce. Pero existe.



while


La otra opción que tenemos es while. Si le damos vueltas, casi todo (por no decir todo) lo que se hace con for se puede hacer con while. La filosofía es distinta. Primero inicializo, luego hago el bucle y dentro del mismo bucle realizo el incremento (o decremento... o gestión) de la variable de control

var i = 0;
while ( i < 11)
{
document.write(i);
i++;
}

Que es equivalente a lo anterior.


NOTA: ¡Aviso a los navegantes! Si no gestionamos bien la variable de control, podemos hacer lo que se llama un bucle infinito, o un bucle del que no podemos salir nunca... jamás... hasta que el ordenador se queda sin memoria o el navegador decide que pasa de nosotros... 


Mañana más... que llevo un día...

Comments