Estoy aprendiendo javascript y tengo dos preguntas, espero que me puedan ayudar :)
Tengo dos bucles for iterando hacia atrás
for (var i = 10; i--;) {
console.log(i, "backward");
}
// starts at 9 and stops at 0
// without breaking condition
for (var i = 10; i >= 0; i--) {
console.log(i, "backward");
}
// starts at 10 and stops at 0
// with breaking condition that i >= 0
i > 0 ? ¿Es porque 0 es falso de todos modos? Entonces, cuando llega a 0, ¿se rompe automáticamente? y no seguirá iterando como 0, -1, -2, -3, ... etc.?gracias por su apoyo :D Saludos
i-- es el punto de ruptura. Una expresión post-decremento resta 1 de la variable y devuelve el valor anterior. Entonces, cuando i es 0 , el valor de i-- es 0 , lo cual es falso, y el ciclo se detiene.i durante la condición de repetición, que se ejecuta antes que el cuerpo, por lo que la primera iteración ya lo ha decrementado a 9 . En el segundo ejemplo, disminuimos i en la expresión de actualización, que se ejecuta después del cuerpo, por lo que todavía tiene el valor inicial 10 durante el cuerpo de la primera iteración. Para comprender lo que hace un bucle for , amplíelo en el bucle while análogo.
for(initialize; condition; update) {
body
}
es aproximadamente equivalente a
initialize;
while (condition) {
body;
update;
}