Diferencia entre revisiones de «Programación en JavaScript/Control/Bucles»

Contenido eliminado Contenido añadido
m Revertidos los cambios de 83.56.19.7 (disc.) a la última edición de Syum90
Línea 34:
Por tanto, el bucle ''for'' puede leerse como: "''iniciamos 'x' con valor 1; el bucle se ejecutará mientras el valor de 'x' sea menor que 10, y cada vez que se ejecute el bucle el valor de 'x' se incrementará en 1''"
 
=== Modificación de la variable de control dentro del bucle ===
 
A continuación podemos ver un ejemplo de cómo podemos usar la variable de control del bucle dentro de éste:
 
{{JavaScript/Reservada|for}} (x = 1; x < 16; x++)
BEBES
{
{{JavaScript/Reservada|if}} (x % 2) {
x++;
}
document.write('Mi número es ' + x + '&lt;br&gt;');
}
 
Podemos apreciar en este ejemplo que el resultado no es el aparentemente esperado para este bucle, dado que aunque en la parte de operación incrementamos la variable sólo en 1, el resultado final es que sólo vemos números pares en la ventana. ¿Por qué? Fijémonos en el código del bucle:
 
*el condicional if sólo será cierto en el caso de que el módulo de 'x' (la operación matemática de 'resto', representada por el operador '%') devuelva como resultado un valor impar.
*si la condición de if se cumple, se ejecutará un trozo de código que incrementará el valor de 'x' en uno, influyendo de esta forma en el desarrollo del bucle.
 
De esta forma, en vez de mostrar los valores numéricos del 1 al 15, como sería en el caso normal, resulta que aparecen sólo valores pares. El truco en este código es sibilino pero potente: la operación 'x % 2' devolverá un 0 si 'x' es par, pero devolverá un valor distinto si es un número impar. ¿Esto que significa? Si el valor de la operación es cero, la condición es falsa (es un comportamiento muy habitual en muchos lenguajes de programación), con lo que la condición sólo será verdadera cuando 'x' sea impar. Un número impar devolverá un módulo mayor que cero al dividirlo entre 2. Al incrementar un valor impar en 1, se convierte en un valor par, que es lo que finalmente vemos en pantalla.
 
Parece enrevesado, pero un estudio a fondo de este código nos permite apreciar algunas de las propiedades ocultas de la programación en JavaScript. Muchas de estas propiedades y características se aprenden con la experiencia, pero en este curso veremos algunas de ellas que nos serán útiles en nuestro trabajo futuro.
 
== Bucles anidados ==
 
Podemos anidar varios bucles uno dentro de otro, como en este caso:
 
{{JavaScript/Reservada|for}} (x = 1; x < 10; x++)
{{JavaScript/Reservada|for}} (y = 1; y < 10; y++)
document.write(x + ":" + y);
 
En este ejemplo, vemos que un bucle se ejecutará dentro del otro mostrándonos los valores de forma ordenada. No es preciso escribir llaves si el código a escribir es de una sola linea.
 
== Bucles infinitos ==