Javascript – #1.21. Repeticiones. Bucle for

Cambiamos de tercio. Dejamos las estructuras de control condicionales y empezamos con las repeticiones: los bucles.

Sin duda, uno de los bucles más sencillos es el bucle for. Consiste en tres expresiones opcionales entre paréntesis y separadas por punto y coma que representan el número de repeticiones de la instrucción o bloque de instrucciones que le sigue. La primera indica desde qué número, la segunda la condición que debe cumplir dicho número, y por último, el incremento o decremento en cada iteración del bucle.

La sintaxis de esta estructura es la siguiente:

for ([expresion-inicial]; [condicion]; [expresion-final]) 
sentencia-o-bloque-de-sentencias
//¡Recuerda que todo lo que hay entre corchetes es opcional!

Javascript, además, tiene diferentes opciones que permiten eliminar alguna de las expresiones entre paréntesis. Claro está, si lo hacemos así, debemos compensar este borrado de alguna forma. Y es lo que veremos en el vídeo de esta lección. Así, podemos:

  • Omitir la expresión inicial: declarando antes la variable.
  • Omitir la condición: añadiendo dentro del bloque de sentencias la condición y una ruptura con break.
  • Omitir la expresión final: incrementando o decrementando la variable dentro del bloque de sentencias.

Y por si fuera poco, un bucle for puede incluir más de una variable. Es decir, podemos incrementar o decrementar más de una variable simultáneamente en cada iteración.

Edu Consejo

¿Sabes que hay una variante del bucle for, llamada “for in”, que permite recorrer las propiedades de un objeto? Lo veremos en la siguiente lección: Javascript – #1.22. Repeticiones. Bucle for in

¡Veamos en el siguiente vídeo un ejemplo del bucle for normal, sus diferentes variantes y cómo hacer un bucle for con más de una variable.

¡Consulta en la pestaña Materiales el código fuente trabajado en la lección!

¿No te ha quedado claro? ¿Quieres aportar tu punto de vista? ¡Deja tu comentario!

¡Ups! ¡Este contenido está restringido a codelovers! Inicia sesión o, si aún no eres miembro de Didacticode, regístrate!

7 comentarios
Contraer comentarios

¡Buenas noches ,Ada!
Se me ha ocurrido elaborar un código en el que usando un bucle for obtengas como salida los números pares entre 2 y 10…pero no doy con el correcto.¿Se puede hacer?
He puesto este pero no veo el error y el bucle es infinito!!!
var s ;
for(s=2; s<=10;s+2){
alert("s =" +s);
{
He probado la tercera sentencia con +s*2, con +(s+2) y con +(2*s)….pero no son correctas

Dame un poco de luz.
Gracias de antemano

Hola Merche, el programa te resulta en un bucle infinito porque la declaración que hiciste no aumenta el valor de i a cada vuelta de ciclo, con el siguiente codigo te muestra los numeros pares hasta el 10( Nota: el i%2 == 0 quiere decir que si el modulo es cero es un numero par lo cual es el numero que buscamos imprimir)

for (i=0; i<=10; i++){
if(i%2 == 0){
alert(i)
}
}

Espero sea de ayuda 🙂

didacticode (Administrador) 30/01/2021 a las 20:34

¡Muy buena respuesta, Danilo!
En mi comentario también dejo otra opción que no requiere utilizar el if dentro del bucle
¡Espero que te sirvan ambas, Merche!

didacticode (Administrador) 30/01/2021 a las 20:33

¡Hola, Merche!
Verás, el problema es que el tercer parámetro del bucle for no actualiza la variable s. Tendrás que poner un operador de asignación utilizando una de las dos opciones:
s=s+2
s+=2
De esta manera, en cada pasada del bucle actualizas el valor “s” sumándole dos unidades a lo que ya tuviera.
¡Espero haberte aclarado! ¡Un saludo y sigue así!

Muchas gracias Danilo!!!
A veces te empeñas en usar lo que no funciona y tú me has dado otra salida. 😉

Mil gracias!
Era ese detalle el que me fallaba, el del tercer parámetro.
Así se aprende

didacticode (Administrador) 03/02/2021 a las 08:15

¡Jejeje! Claro. Y como ves, no hay una única solución

Deja un comentario