Bucle FOR

18 de octubre de 2001
Valoración del artículo:
Descripción y ejemplos de funcionamiento del bucle FOR.
Comenzamos con este artículo del Manual de Javascript a explorar las estructuras de control para producir bucles o repeticiones, comenzando por el bucle for, no por ser el más simple, pero sí el más utilizado en la programación.

El bucle FOR se utiliza para repetir una o más instrucciones un determinado número de veces. De entre todos los bucles, el FOR se suele utilizar cuando sabemos seguro el número de veces que queremos que se ejecute. La sintaxis del bucle for se muestra a continuación.

for (inicialización; condición; actualización) {
    //sentencias a ejecutar en cada iteración
}


El bucle FOR tiene tres partes incluidas entre los paréntesis, que nos sirven para definir cómo deseamos que se realicen las repeticiones. La primera parte es la inicialización, que se ejecuta solamente al comenzar la primera iteración del bucle. En esta parte se suele colocar la variable que utilizaremos para llevar la cuenta de las veces que se ejecuta el bucle.

La segunda parte es la condición, que se evaluará cada vez que comience una iteración del bucle. Contiene una expresión para decidir cuándo se ha de detener el bucle, o mejor dicho, la condición que se debe cumplir para que continúe la ejecución del bucle.

Por último tenemos la actualización, que sirve para indicar los cambios que queramos ejecutar en las variables cada vez que termina la iteración del bucle, antes de comprobar si se debe seguir ejecutando.

Después del for se colocan las sentencias que queremos que se ejecuten en cada iteración, acotadas entre llaves.

Un ejemplo de utilización de este bucle lo podemos ver a continuación, donde se imprimirán los números del 0 al 10.

var i
for (i=0;i<=10;i++) {
    document.write(i)
    document.write("<br>")
}


En este caso se inicializa la variable i a 0. Como condición para realizar una iteración, se tiene que cumplir que la variable i sea menor o igual que 10. Como actualización se incrementará en 1 la variable i.

Como se puede comprobar, este bucle es muy potente, ya que en una sola línea podemos indicar muchas cosas distintas y muy variadas, lo que permite una rápida configuración del bucle y una versatilidad enorme.

Por ejemplo si queremos escribir los número del 1 al 1.000 de dos en dos se escribirá el siguiente bucle.

for (i=1;i<=1000;i+=2)
    document.write(i)


Si nos fijamos, en cada iteración actualizamos el valor de i incrementándolo en 2 unidades.

Nota: Otro detalle, no utilizamos las llaves englobando las instrucciones del bucle FOR porque sólo tiene una sentencia y en este caso no es obligado, tal como pasaba con las instrucciones del IF.

Si queremos contar descendentemente del 343 al 10 utilizaríamos este bucle.

for (i=343;i>=10;i--)
    document.write(i)


En este caso decrementamos en una unidad la variable i en cada iteración, comenzando en el valor 343 y siempre que la variable tenga un valor mayor o igual que 10.

Ejercicio de ejemplo del bucle for

Vamos a hacer una pausa para asimilar el bucle for con un ejercicio que no encierra ninguna dificultad si hemos entendido el funcionamiento del bucle.

Se trata de hacer un bucle que escriba en una página web los encabezamientos desde <H1> hasta <H6> con un texto que ponga "Encabezado de nivel x".

Lo que deseamos escribir en una página web mediante Javascript es lo siguiente:

<H1>Encabezado de nivel 1</H1>
<H2>Encabezado de nivel 2</H2>
<H3>Encabezado de nivel 3</H3>
<H4>Encabezado de nivel 4</H4>
<H5>Encabezado de nivel 5</H5>
<H6>Encabezado de nivel 6</H6>

Para ello tenemos que hacer un bucle que empiece en 1 y termine en 6 y en cada iteración escribiremos el encabezado que toca.

for (i=1;i<=6;i++) {
    document.write("<H" + i + ">Encabezado de nivel " + i + "</H" + i + ">")
}


Este script se puede ver en funcionamiento aquí.

Ahora que ya conocemos el bucle for, estamos en condiciones de aprender a manejar otras estructuras de control para realizar repeticiones, como los bucles while y do...while.

Compartir en redes sociales

Comentarios
Fueron enviados 8 comentarios al artículo
2 comentarios no revisados
6 comentarios revisados:
Por: Fernando
13/2/2007
Hola solo queria comentar que en el FOR que decrementa 343 hasta 10 hay un error, ya que solo tiene la llave de cierre, o se quita esa llave por ser una unica instruccion o se pone tambien la de apertura. Saludos
interrogante del for
Por: heber
26/9/2009
Haber si saben . Cuantos for dentro del for puede haber como maximo soy estudiante de ingenieria y me costo un poco de tiempo en encontrar la respueesta haber cuanto les demos a ustedes e igual para el if ,do while, else entre otros haber cuantas se la hacen

bernard...
Bucle FOR en OPERA
19/3/2010
He probado el bucle for que realiza los seis encabezamientos de H1 a H6 y los realiza mal.
En Internet Explorer y Mozilla Firefox, perfecto.
Por cierto, para cumplir con XHTML 1.0 Transicional, he escrito el script así:
<script type="text/javascript">
for(i=1;i<=6;i++){
document.write("<H"+i+">Encabezado de nivel "+i+"<H"+i+" />")
}
</script>
¿Por que puede ser?
Gracias.
consulta
Por: ferney raul manrique
23/7/2010
hola
soy novato en este tema y tengo una inquietud en la sentencia for cuano escriben los titulos se coloca +i+ mi pregunta es porque tengo que acompañar la variable de los dos signos de suma.
Anidación de bucles for y otras cosas
27/9/2010
Hola,
Sobre la pregunta de cuántos bucles for se pueden meter unos dentro de otros: que yo sepa no hay límites para anidación de bucles for. Si los bucles son muy largos, quizás tu navegador se pueda quedar colgado al procesarlos, pero eso no quiere decir que no se puedan anidar cuantos bucles desees.

Sobre la pregunta de los dos signos mas seguidos (1++) eso quiere decir un incremento de la variable en una unidad. Es lo mismo que i = i + 1

Alguien
Numeros del 1 al 1000
17/9/2011
buenas Desarrolloweb... mi pregunta es la siguiente
no se si estoy en lo correcto o no ps soy principiante en esto mi pregunta es

en esta instruccion
for (i=1; 1<=1000; i+=2)
i inicia en 1, y la condicion es que llegue a 1000, pero que salte de 2 en 2 y segun lo que he leido, la instruccion i+=2 haria que el lado izquierdo sume con el lado derecho y el resultado se guarde en una variable, entonces i+=2 no daria 2 sino 3
xq 1+2=3, muchas gracias si me responden ... :D

Manuales relacionados
Categorias relacionadas
El autor
Miguel Angel Alvarez
Director de DesarrolloWeb.com
http://www.desarrolloweb.com


Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...