Compartir a través de


Bucles for

Actualización: noviembre 2007

La instrucción for especifica una variable de contador, una condición de prueba y una acción que actualiza el contador. La condición se comprueba antes de cada iteración del bucle. Si la comprobación es correcta, se ejecuta el código interior del bucle. En caso contrario, el código interior del bucle no se ejecuta y el programa continúa por la primera línea de código inmediatamente posterior al bucle. Después de ejecutar el bucle, la variable de contador se actualiza antes de comenzar la siguiente iteración.

Utilizar bucles for

Si nunca se cumple la condición del bucle, éste nunca se ejecuta. Si la condición del bucle se cumple siempre, el bucle se convierte en un proceso infinito. Aunque es posible que lo primero sea necesario en algunos casos, lo segundo raramente lo es, por lo que debe tener cuidado al escribir las condiciones de los bucles. En este ejemplo, se utiliza el bucle for para inicializar los elementos de una matriz con la suma de los elementos anteriores.

var sum = new Array(10); // Creates an array with 10 elements
sum[0] = 0;              // Define the first element of the array.
var iCount;

// Counts from 0 through one less than the array length.
for(iCount = 0; iCount < sum.length; iCount++) { 
   // Skip the assignment if iCount is 0, which avoids
   // the error of reading the -1 element of the array.
   if(iCount!=0)
      // Add the iCount to the previous array element,
      // and assign to the current array element.
      sum[iCount] = sum[iCount-1] + iCount;
   // Print the current array element.
   print(iCount + ": " + sum[iCount]); 
}

El resultado de este programa es:

0: 0
1: 1
2: 3
3: 6
4: 10
5: 15
6: 21
7: 28
8: 36
9: 45

En el siguiente ejemplo hay dos bucles. El bloque de código del primer bloque no se ejecuta nunca, mientras que el segundo bucle es un bucle infinito.

var iCount;
var sum = 0;
for(iCount = 0; iCount > 10; iCount++) { 
   // The code in this block is never executed, since iCount is
   // initially less than 10, but the condition checks if iCount
   // is greater than 10.
   sum += iCount;
}
// This is an infinite loop, since iCount is always greater than 0.
for(iCount = 0; iCount >= 0; iCount++) { 
   sum += iCount;
}

Vea también

Referencia

for (Instrucción)

Otros recursos

Bucles en JScript

Estructuras condicionales de JScript

Referencia de JScript