while sintaxis sentencia para for ejemplos ciclo bucle javascript loops

javascript - sintaxis - sentencia for



¿Cómo construyo un bucle en JavaScript? (5)

Aquí hay un ejemplo de un bucle for:

Tenemos una variedad de nodos de artículos.

for(var i = 0; i< nodes.length; i++){ var node = nodes[i]; alert(node); }

¿Cómo puedo crear un bucle en JavaScript?



Aparte de los bucles de compilación ( while() ... , do ... while() , for() ... ), hay una estructura de función de auto llamada, también conocida como recursión para crear un bucle sin el tres estructuras de bucle incorporadas.

Considera lo siguiente:

// set the initial value var loopCounter = 3; // the body of the loop function loop() { // this is only to show something, done in the loop document.write(loopCounter + ''<br>''); // decrease the loopCounter, to prevent running forever loopCounter--; // test loopCounter and if truthy call loop() again loopCounter && loop(); } // invoke the loop loop();

Huelga decir que esta estructura a menudo se utiliza en combinación con un valor de retorno, por lo que este es un pequeño ejemplo de cómo lidiar con el valor que no está disponible por primera vez, pero al final de la recursión:

function f(n) { // return values for 3 to 1 // n -n ~-n !~-n +!~-n return // conv int neg bitnot not number // 3 -3 2 false 0 3 * f(2) // 2 -2 1 false 0 2 * f(1) // 1 -1 0 true 1 1 // so it takes a positive integer and do some conversion like changed sign, apply // bitwise not, do logical not and cast it to number. if this value is then // truthy, then return the value. if not, then return the product of the given // value and the return value of the call with the decreased number return +!~-n || n * f(n - 1); } document.write(f(7));


Un bucle en JavaScript se ve así:

for (var = startvalue; var <= endvalue; var = var + increment) { // code to be executed }


Para bucles

for (i = startValue; i <= endValue; i++) { // Before the loop: i is set to startValue // After each iteration of the loop: i++ is executed // The loop continues as long as i <= endValue is true }

Para ... en loops

for (i in things) { // If things is an array, i will usually contain the array keys *not advised* // If things is an object, i will contain the member names // Either way, access values using: things[i] }

Es una mala práctica usar for...in bucles para iterar sobre matrices. Va en contra del estándar ECMA 262 y puede causar problemas cuando se agregan atributos o métodos no estándar al objeto Array, por ejemplo, mediante Prototype . (Gracias a Chase Seibert por señalar esto en los comentarios)

Mientras bucles

while (myCondition) { // The loop will continue until myCondition is false }