While
Syntaxe
while (boolean) {
code à exécuter si true
instruction de modification de la valeur boolean
}
Arrêtée au sein du programme
- initialisation du contrôleur de boucle en dehors de la boucle
- test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
- si true, exécution du bloc d'instructions contenu dans la boucle et
modification du contrôleur de boucle à l'intérieur de la boucle
- test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
- ... et ainsi de suite jusqu'à ce que la condition soit évaluée à false
Réaliser un programme qui affiche le nombre de passages dans une boucle.
Démo
var cpt=1;
while (cpt < 11) {
document.write("Tour n°:",cpt,"<br>");
cpt++;
}
Arrêtée par l'utilisateur
- initialisation du contrôleur de boucle par l'utilisateur
- test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
- si le test renvoie true, exécution du bloc d'instructions contenu dans la boucle et
modification du contrôleur de boucle par l'utilisateur à l'intérieur de la boucle
- test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
- ... et ainsi de suite jusqu'à ce que le test donne false
Réaliser un programme qui affiche le nombre de passage dans une boucle.
Démo
var val=parseInt(window.prompt());
while (val != 999) {
document.write("Un petit tour dans ma belle boucle");
val=parseInt(window.prompt());
}
document.write("Enfin sorti de cette belle boucle");
do while
Syntaxe
do {
code à exécuter si true
instruction de modification de la valeur boolean
} while (boolean)
- initialisation du contrôleur de boucle en dehors de la boucle
- exécution du bloc d'instructions contenu dans la boucle et modification du contrôleur de boucle
à l'intérieur de la boucle
- test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
- si le test renvoie true, exécution du bloc d'instructions contenu dans la boucle et
modification du contrôleur de boucle à l'intérieur de la boucle
- ... et ainsi de suite jusqu'à ce que le test donne false
Réaliser un programme qui affiche le nombre de passage dans une boucle.
Démo
var cpt=1;
do{
document.write("Tour n°:",cpt,"<br>");
cpt++;
} while (cpt < 11)
le code inscrit dans la boucle sera toujours exécuté au moins une fois puisque
le test de l'expression conditionnelle se fait en fin de boucle.
for
Syntaxe
for(initialisation compteur;comparaison compteur;modification compteur) {
code à exécuter si true
}
- initialisation du compteur de boucle (1er instruction)
- test de l'expression conditionnelle (2ème instruction)
- si le test renvoie true, exécution du bloc d'instructions contenus dans la boucle
- incrémentation du compteur de boucle (3ème instruction)
- test de l'expression conditionnelle (2ème instruction)
- si le test renvoie true, exécution du bloc d'instructions contenus dans la boucle
- ... et ainsi de suite jusqu'à ce que le test donne false
Réaliser un programme qui affiche le nombre de passage dans une boucle.
Démo
for(let i=1;i < 11; i++) {
document.write("Tour n°:",i,"<br>");
}
On utilise let pour rendre le compteur de boucle local à la structure for.
Une variable déclarée avec let est détruite à la sortie de la structure au sein de laquelle elle a été déclarée.
continue
Le mot-clé continue permet d'ignorer une ou plusieurs valeurs tout en continuant l'itérations.
Démo
for(let i=0;i<3;i++) {
let valeur=window.parseInt(window.prompt("Entrez le dividende:"));
let divi=window.parseInt(window.prompt("Entrez le diviseur:"));
if(divi===0){
console.log("le diviseur n'est pas admis");
continue;
}
console.log("Quotient: "+window.parseInt(valeur/divi));
console.log("Reste: "+valeur%divi);
console.log("Division: "+valeur/divi);
}
Démo
let cpt=0;
while(cpt<3){
let valeur=window.parseInt(window.prompt("Entrez le dividende:"));
let divi=window.parseInt(window.prompt("Entrez le diviseur:"));
if(divi===0){
console.log("le diviseur n'est pas admis");
cpt++;
continue;
}
console.log("Quotient: "+window.parseInt(valeur/divi));
console.log("Reste: "+valeur%divi);
console.log("Division: "+valeur/divi);
cpt++
}
Si l'utilisateur entre 0 pour le diviseur, il reçoit un message et le reste du code est ignoré, grâce au continue la boucle ne s'intrrrompt pas.
break
Le mot-clé break permet de stopper l'itération, le script se continuant après celle-ci.
Démo
for(let i=0;i<3;i++) {
let valeur=window.parseInt(window.prompt("Entrez le dividende:"));
let divi=window.parseInt(window.prompt("Entrez le diviseur:"));
if(divi===0){
console.log("le diviseur n'est pas admis");
break;
}
console.log("Quotient: "+window.parseInt(valeur/divi));
console.log("Reste: "+valeur%divi);
console.log("Division: "+valeur/divi);
}
Le mot-clé break permet ici de stopper l'itération car l'utilisareur a entré la valeur 0 pour le diviseur.
for of
Cette boucle permet de boucler sur les cellules d'un tableau.
On récupère les valeurs contenues dans les indices dans la variable val.
Syntaxe
for (val of array) {
//code à exécuter jusqu'à la dernière cellule
}
Démo
let liste = ["Pierre",143,true,12.5];
for (let x of liste) {
document.write(x);
}
for of ne peut pas être utilsé avec les objets, il ne peut être utilisé qu'avec des variables itérables.
for in
Cette boucle permet de boucler sur les propriétés d'un tableau ou les cellules d'un objet.
Pour les tableaux: la variable val prendra automatiquement la valeur de l'indice de la cellule à chaque tour de boucle.
Pour les objets: la variable val prendra automatiquement la valeur des propriétés de l'objet à chaque tour de boucle.
Syntaxe
for (let val in object) {
//code à exécuter jusqu'à la dernière propriété
}
Démo
let personne = ["Florimon", "Tartempion", 25];
let text = "";
for (let x in personne) {
text += personne[x] + " ";
document.write("<br>",x);
}
document.write(text);
Démo
let personne = {prenom:"Florimon", nom:"Tartempion", age:25};
let text = "";
for (let x in personne) {
text += personne[x] + " ";
document.write("<br>",x"<br>");
}
document.write(text);
En résumé:
while - on ne connait pas le nombre de fois que le bloc de code sera exécuté, il est exécuté tant que la condition renvoie true
do/while - on ne connait pas le nombre de fois que le bloc de code sera exécuté mais il sera exécuté au moins une fois, il est exécuté tant que la condition renvoie true
for - on connait le nombre de fois que le bloc de code sera exécuté, il est exécuté tant que la condition renvoie true
for of - boucle sur un tableau pour récupérer les valeurs contenues dans les cellules
for in - boucle sur un tableau/objet pour récupérer les valeurs contenues dans les cellules/propriétés et les valeurs des cellules/propriétés
Les chaînes de caractères
for of et for in peuvent être utilsées avec les chaînes de caractères.
Avec for of chaque caractère est récupéré à chaque tour de boucle.
Avec for in chaque indice des caractères est récupéré à chaque tour de boucle.
Démo
let texte = "Al-Uzza, Allat et Manat";
for (let x of texte) {
document.write(x);
}
Démo
let texte = "Al-Uzza, Allat et Manat";
for (let x in texte) {
document.write(x);
}
En résumé:
while - on ne connait pas le nombre de fois que le bloc de code sera exécuté, il est exécuté tant que la condition renvoie true
do/while - on ne connait pas le nombre de fois que le bloc de code sera exécuté mais il sera exécuté au moins une fois, il est exécuté tant que la condition renvoie true
for - on connait le nombre de fois que le bloc de code sera exécuté, il est exécuté tant que la condition renvoie true
for of - boucle sur un tableau pour récupérer les valeurs contenues dans les cellules
for in - boucle sur un tableau/objet pour récupérer les valeurs contenues dans les cellules/propriétés et les valeurs des cellules/propriétés
Quiz
Clique-moi pour générer un questionnaire !