Voici une énumération des différentes boucles permettant des itérations en Javascript:

4.12.1 La boucle for


for (instructionInitiale; condition; instructionIncrémentale)
{
instructions
      }

Lorsqu'une boucle for est exécutée, voici ce qui se produit :

  1. L'instruction initiale instructionInitiale, si présente, est exécutée.
  2. L'expression condition est évaluée.
  3. Si la valeur de condition est true, les instructions de la boucle sont exécutées. Si sa valeur est false, la boucle for se termine.
  4. L'instruction de mise à jour instructionIncrémentale, si présente, est exécutée, et l'on retourne à l'étape 2.

Voici un →exemple simple:

.................
<script>
document.write("Somme des 100 premiers carrés :<br />")
for( i=0 ; i<100 ; i++ )
{
document.write( i + "<sup>2</sup> = " + i*i + "<br />");
}
</script>
.................

Pour mieux comprendre ce qui se passe, écrivez à la 5e ligne:
document.writeln( i*i );
Tout le reste ne sert qu'au formatage!


4.12.2 La boucle do...while


do {
instructions;
      }
while (condition)

Lorsqu'une boucle do...while est exécutée, voici ce qui se produit :

  1. Les instructions sont exécutés.
  2. L'expression condition est évaluée.
  3. Si la valeur de condition est true, les instructions de la boucle sont de nouveau exécutées. Si sa valeur est false, la boucle se termine.

Les instructions sont donc au moins exécutées une fois!

Voici un →exemple:

.................
<script>
jour = new Array("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
x=1;
temps = new Date();
maintenant = temps.getTime();
date = temps.getDay();
document.write("Aujourdhui: " + jour[date]+"<br />");
do
{
alors = maintenant + (2 * x * 24 * 60 * 60 * 1000);
temps.setTime(alors);
date = temps.getDay();
document.write("Dans " + 2*x + " jours: " + jour[date]+"<br />");
x++ ;
}
while
(
x<10
)
</script>
.................

Pour comprendre ce qui se passe, il faut revoir les →tableaux et la →date en Javascript! La variable x compte les jours à partir de maintenant. L'essentiel est d'incrémenter x dans les instructions de do{}, pour que la boucle puisse rencontrer une condition qui la termine!


4.12.3 La boucle while


while (condition)
{
instructions;
      }

Lorsqu'une boucle while est exécutée, voici ce qui se produit :

  1. L'expression condition est évaluée.
  2. Si la valeur de condition est true, les instructions de la boucle sont exécutées. Si sa valeur est false, la boucle se termine.


Voici un →exemple basé sur la série:

$\frac{\pi}{4}=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\frac{1}{9}-\frac{1}{11}+....$

.................
<script>
document.write("Valeur du nombre π correcte jusqu'à la 5e décimale: "+"<br />");
p=1;
difference=1;
avant=1;
apres=2;
nombre=-3;
signe=-1;
while(difference>Math.pow(10,-6))
{ avant=p;
p=p + 1/nombre;
apres=p;
signe=signe*(-1);
nombre=(Math.abs(nombre)+2)*signe;
difference=Math.abs(avant-apres);
}
document.write(Math.round(400000*p)/100000);
</script>
.................

Pour comprendre ce qui se passe, il faut revoir les →calculs en Javascript! La condition du while stipule que la boucle persiste, il faut qu'il y ait une différence entre ancienne valeur calculée et nouvelle qui soit plus grande que $10^{-6}$. Que fait l'avant-dernière ligne?

Voici comment on peur sortir des boucles à un moment voulu:

4.12.4 L'instruction break



break
 

Lorsqu'une instruction break est exécutée à l'intérieur d'une boucle, voici ce qui se produit :

  1. On sort de de l'itération courante de la boucle
  2. La boucle se termine que la condition soit true ou false.


Voici un →exemple simple:

.................
<script>
document.write("Somme avortée des 100 premiers carrés :<br />")
for( i=0 ; i<100 ; i++ )
{
if (i==6){break;}
document.write( i + "<sup>2</sup> = " + i*i + "<br />");
}
</script>
.................


4.12.5 L'instruction continue



continue
 

Lorsqu'une instruction continue est exécutée à l'intérieur d'une boucle, voici ce qui se produit :

  1. On sort seulement de l'itération courante de la boucle.
  2. La boucle continue, si la condition est toujours true, autrement elle se termine.

Voici un →exemple simple:

.................
<script>
document.write("Somme amputée des 100 premiers carrés :<br />")
for( i=0 ; i<100 ; i++ )
{
if (i==6){continue;}
document.write( i + "<sup>2</sup> = " + i*i + "<br />");
}
</script>
.................

Regardez à la position 6!