Les boucles d’instructions
Les boucles sont très utiles en Javascript. Elles permettent de répéter ou d’itérer des instructions. Elles sont très souvent utilisées pour les traitements d’affichage : afficher une liste de produits, une liste de membres, une liste de commentaires dans les articles, une liste d’informations selon des critères de recherche, afficher une pagination…
Répéter un nombre de fois déterminé
Si le nombre de répétion (ou itération) est connu, utiliser la syntaxe for. Exemple :
for(let i=0 ; i<6 ; i++){
document.write(i);
}
Affichage
012345
Description
Dans la parenthèse, vous devez fournir 3 informations séparéés par des point-virgules ;
- déclaration d’une ou de plusieurs variables, ici la variable i fait office de compteur
- conditions pour rester dans la boucle : i doit être inférieure à 6
- instruction(s) sur retour : la valeur i est incrémentée
Boucle infinie
Même si cette pratique est déconseillée, il est possible de créer une boucle sans fin.
for( ; ; ){
document.write(2);
}
Dans ce cas la deuxième information n’étant pas définie, la boucle ne s’arrête jamais. Vous pouvez aussi obtenir le même résultat avec cette écriture.
for( ; true ; ){
document.write(2);
}
Cela démontre que les informations entre les parenthèses ne sont pas obligatoires mais nécessaires au bon déroulement de l’itération.
Sortir d’une boucle
L’opérateur break permet de sortir d’une boucle.
for(let i=0 ; i<10 ; i++){
if(i==3){
break;
}
document.write(i);
}
Affichage
012
Dans cet exemple le 3 ne s’affichera pas puisqu’on quitte la boucle juste avant.
Passer immédiatement à l’itération suivante
Vous pouvez ignorer les instructions sur le retour avec l’instruction continue.
for(let i=1 ; i<10 ; i++){
if(i==3){
continue;
}
document.write(i);
}
Affichage
012456789
Dans cet exemple toutes les valeurs entre 1-9 seront affichées sauf le 3.
Répéter un nombre de fois indéterminé
Dans certaine situation, vous ne pouvez pas connaitre à l’avance le nombre total d’instructions à répéter, comme pour l’affichage des membres d’un site de rencontre. La boucle while est plus appropriée dans ce cas.
let i =0 ;
while (i <= 120) {
document.write(i+"<br>");
i = Math.round(Math.random()*200);
}
Affichage
12
100
5
105
Dans cet exemple, l’expression Math.random()*200 [random() est une méthode de l’objet Math()] permet de choisir un nombre aléatoire entre 0 et 200. La méthode round() de l’objet Math permet d’arrondir ce nombre.
La boucle while va donc afficher des nombres de façon aléatoire tant que ce dernier est inférieur ou égal à 120.