1.15 Bucles/Loops

En momentos concurridos, hay esperando una lista de clientes que necesitan hablar con el empleado de la tienda de teléfonos. Mientras sigan habiendo personas en la lista, la empleada necesita seguir atendiendo al siguiente cliente.

Repetir una serie de acciones hasta que cierta condición falle -- en otras palabras, repetir mientras la condición se mantenga -- es el trabajo de los bucles; los bucles pueden tomar diferentes formas, pero todos ellos cumplen este básico comportamiento.

Un bucle incluye la condición de prueba y un bloque (Generalmente {...}). Cada vez que el bloque se ejecuta, eso es llamado una iteración.

Por ejemplo, las formas del bucle while y el bucle do...while ilustran el concepto de repetir un bloque de sentencias hasta que una condición no sea mas evaluada como verdadera:

while (numOfCustomers > 0) {
  console.log( "En que puedo ayudarle?" );

  // cliente atendidos...
  numOfCustomers = numOfCustomers - 1;
}

// versus:
do {
  console.log( "En que puedo ayudarle?" );

  // clientes atendidos
  numOfCustomers = numOfCustomers - 1;
} while (numOfCustomers > 0);

La única diferencia practica entre estos bucles es, si la condición es probada antes de la primera iteración (while) o después de la primera iteración (do... while).

De cualquier forma, si la condición probada es falsa, la siguiente iteración no ocurrirá. Esto significa que si la condición es inicialmente falsa, un bucle while nunca se ejecutara, a diferencia de un bucle do... while que tan solo se ejecutara la primera vez.

A veces usted esta haciendo un bucle con la meta de contar cierta serie de números, de 0 a 9 (diez números). Usted puede hacer eso definiendo un bucle, iterando una variable como i con valor 0 e incrementarla de a 1 por cada iteración.

Advertencia: por una variedad de razones históricas, casi todos los lenguajes de programación siempre cuentan cosas desde cero, lo que significa que inicia desde el 0 en vez del 1. Si no esta familiarizado con este modo de pensar, esto puede ser un poco confuso al principio. Tome algo de tiempo para iniciar el conteo con 0 para que se empiece a sentir mas como con esto.

La condición es probada en cada iteración, como si hubiera una sentencia if implícita en el bucle.

Podemos usar una sentencia JavaScript break para detener un bucle. También, podemos observar que es muy fácil crear un bucle que de otro modo se ejecute para siempre sin un sistemas de interrupción/break

Vamos a ilustrarlo

var i = 0;

// un bucle `while..true` bucle deberia ejecutarce siempre, verdad?
while (true) {

    // detener el bucle?
    if ((i <= 9) === false) {
        break;
    }

    console.log( i );
    i = i + 1;
}
// 0 1 2 3 4 5 6 7 8 9

Advertencia: Esta no es necesariamente una manera practica en la que usted quiera usar sus bucles. Este ejemplo es presentado solo para propósitos ilustrativos.

Mientras que un bucle while o do... while puede realizar tareas manualmente, hay otra manera sintáctica llamada bucle for para ese propósito:

for (var i = 0; i <= 9; i = i + 1) {
  console.log( i );
}
// 0 1 2 3 4 5 6 7 8 9

Como puede ver, en ambos casos la condicional i <= 9 es verdadera para las primeras 10 iteraciones (i de valores del 0 al 9) de cualquiera de los bucles, y se vuelve falsa una vez que el valor de i es 10.

El bucle for tiene tres cláusulas: La clausula inicial (i=0), la clausula condicional (i <= 9), y la clausula de actualización (i = i + 1). Así que si usted va a contabilizar con bucles, for es mas compacto y a menudo una forma mas fácil de entender y escribir.

results matching ""

    No results matching ""