Bucle FOR

  • Por
  • 18 de octubre de 2001
  • Valoración:
  • 8 Comentarios
  • Manuales de Javascript
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.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Comentarios

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

heber

26/9/2009
interrogante del for
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

bernardo_fernandez-570223

19/3/2010
Bucle FOR en OPERA
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.

ferney raul manrique

23/7/2010
consulta
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.

eugim

27/9/2010
Anidación de bucles for y otras cosas
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

mely

16/5/2011
hola
quisiera k me dieran un ejemplo mas claro sobre los bucles porque no es muy entendible supongamos la suma de 2 numeros o algo por el estilo esque lo necesito para mi clase y como no es algo que pueda entender a si de facil ayudenme pronto porfavor grasias

Alguien

17/9/2011
Numeros del 1 al 1000
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

Carlos Fonseca

19/2/2013
¿Puede usarse el bucle FOR para crear un virus informático?
¿Puede suceder que al poner a funcionar el bucle FOR, este no encuentre la condición final y se produzca un número infinito de iteraciones? Por ejemplo, que pongamos como condición que para que se acaben las iteraciones, x debe ser igual a 11, pero para inicializar, colocamos a x el valor 2 y pedimos que vaya aumentando su valor de dos en dos. De esta forma, nunca va a encontrar el valor 11, porque no es un número par.

Creo que esta es una forma sencilla de crear un virus ¿Estoy en lo correcto?

Compartir