La première partie initialise la valeur d'une variable de compteur de boucle
(généralement nommée i, pour des raisons historiques), souvent à zéro ; la deuxième
donne une condition : une fois qu'elle n'est plus satisfaite, la boucle s'arrête ; la
troisième et dernière est une instruction effectuée à chaque fin d'itération, qui
incrémente souvent la valeur du compteur. Aucune de ces parties n'est requise, mais les
points-virgules doivent rester. Ainsi, la forme générale précédente est strictement
équivalente à celle-ci :
var index = 0;
for (;;) {
if (! (index < M)) {
break; // Ce mot clé arrête l'exécution de la boucle.
}
// …
i++
}
Ces boucles sont notamment utiles pour itérer sur tous les éléments d'un tableau. Le
compteur de boucle correspondra alors à la position dans le tableau et la condition sera
de garder un indice inférieur au dernier dans le tableau (dont la taille est indiquée par
array.length).
var array = [1, 2, 3];
for (var i = 0; i < array.length; i++) {
// L'élément courant est accessible par array[i].
// …
}
Attention > La syntaxe for (variable in object) fait penser à celle de Python, mais ne
lui correspond pas vraiment : en JavaScript, elle itère sur les propriétés
énumérables de l'objet. En particulier, pour un tableau, il n'y a aucune garantie
d'itérer sur les indices dans un certain ordre… ni de n'itérer que sur les indices ! Il
vaut donc mieux l'éviter à moins de savoir ce que l'on fait.
Note > Un tableau comparatif de constructions JavaScript et Python est disponible
dans le Tableau .4.
293
(généralement nommée i, pour des raisons historiques), souvent à zéro ; la deuxième
donne une condition : une fois qu'elle n'est plus satisfaite, la boucle s'arrête ; la
troisième et dernière est une instruction effectuée à chaque fin d'itération, qui
incrémente souvent la valeur du compteur. Aucune de ces parties n'est requise, mais les
points-virgules doivent rester. Ainsi, la forme générale précédente est strictement
équivalente à celle-ci :
var index = 0;
for (;;) {
if (! (index < M)) {
break; // Ce mot clé arrête l'exécution de la boucle.
}
// …
i++
}
Ces boucles sont notamment utiles pour itérer sur tous les éléments d'un tableau. Le
compteur de boucle correspondra alors à la position dans le tableau et la condition sera
de garder un indice inférieur au dernier dans le tableau (dont la taille est indiquée par
array.length).
var array = [1, 2, 3];
for (var i = 0; i < array.length; i++) {
// L'élément courant est accessible par array[i].
// …
}
Attention > La syntaxe for (variable in object) fait penser à celle de Python, mais ne
lui correspond pas vraiment : en JavaScript, elle itère sur les propriétés
énumérables de l'objet. En particulier, pour un tableau, il n'y a aucune garantie
d'itérer sur les indices dans un certain ordre… ni de n'itérer que sur les indices ! Il
vaut donc mieux l'éviter à moins de savoir ce que l'on fait.
Note > Un tableau comparatif de constructions JavaScript et Python est disponible
dans le Tableau .4.
293
