Contenido

Replanteándonos los for() en Javascript

14 oct

+ 10

Al igual que en otros lenguajes los bucles nos permite iterar elementos fácilmente dentro de nuestros scripts. Javascript dispone de varios sistemas, pero el que hoy trataremos son los for().

for()

El for() de Javascript, funciona de dos formas posibles:

for (var x=0; x < final; x++) {...}
// o
for (var item in elementos) {...}

Ambas formas son similares, salvo que la última obtenemos el item por defecto en lugar de tener que recurrir al valor de x sobre lo que estamos iterando.

Una vuelta de tuerca

Aprovechando la sintaxis del método podemos usarlo para que haga más, mucho más:

for (
    var i=2, r=[0,1];
    i<15 || alert(r);
    r.push(r[i-1] + r[i-2]), i++
);
//alerts "0,1,1,2,3,5,8,13,21,34,55,89,144,233,377"

En Javascript, Javascript explican como utilizar los for() para reducir los scripts, por contra ofuscan el código a otros desarrolladores que deban ver luego tu código.

Sintaxis

for (initialCode;
     iteratingCondition;
     repeatingExpression) {
    repeatingCode
}

Partiendo de que las cuatro secciones son opcionales podemos sacar que:

initialCode
No necesita una asignación de variable, cualquier expresión es válida
iteratingCondition
No puede contener declaraciones de variables
repeatingExpression
No puede contener declaraciones de variables, será evaluada después de cada repeatingCode
repeatingCode
Los paréntesis son opcionales dependiendo si se compone de 1 o más líneas.

Sería posible reducir a un “pseudo-código” el funcionamiento en algo así:

initialCode();
while(iteratingCondition()) {
	repeatingCode();
	repeatingExpression();
}

Una forma interesante de usar los for() aunque en algunos casos añada un grado de complejidad a la lectura del mismo. Más información y ejemplos.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.