De l'étude précédente des boucles, nous savons que par défaut la boucle se terminera automatiquement lorsque le résultat de l'expression est faux, sinon la boucle continuera. Dans certains cas, nous n'avons pas besoin d'attendre que la boucle se termine automatiquement, mais nous pouvons activement quitter la boucle. JavaScript fournit deux instructions, break et continue, pour quitter la boucle et quitter (sauter) la boucle en cours.
1. instruction continue
L'instruction continue est utilisée pour sauter cette boucle et exécuter la boucle suivante. Lorsqu'il rencontre l'instruction continue, le programme retestera immédiatement l'expression conditionnelle. Si le résultat de l'expression est vrai, la boucle suivante démarrera. Si le résultat de l'expression est faux, la boucle se terminera.
[Exemple 1] Utilisez l'instruction continue pour sortir de la boucle for :
<script type="text/javascript"> pour (var je = 1; je < 10; je++) { si(je % 2 != 0) { continuer; } console.log(i); } </script>
Analyse :
for (var i = 0; i < 10; i++){}
peut boucler pour obtenir tous les nombres compris entre 1 et 10.
L'instruction if(i % 2 != 0)
est utilisée pour déterminer le valeur de i Peut-il être divisible par 2 ? Sinon, alors la valeur dans ()
est vraie et continue;
est exécutée ;
Dans le corps de la boucle, utilisez l'instruction if(i % 2 == 0)
pour porter un jugement. Si la valeur de i
peut être divisée également par 2, utilisez " console.log(i);
" pour afficher si la valeur ; de i
ne peut pas être divisé également par 2, déclenchez l'instruction continue;
sortez de cette boucle (pas de sortie) et exécutez la boucle suivante.
Résultat de sortie :
2. Instruction break
L'instruction break est utilisée pour sortir de la structure syntaxique actuelle. Elle peut terminer le code du corps de la boucle et sortir immédiatement de la boucle actuelle, et exécuter le code après la boucle (le cas échéant).
La différence entre break et continue est que l'instruction continue termine uniquement la boucle en cours, tandis que l'instruction break termine l'exécution de la boucle entière.
Si nous continuons à utiliser le code de l'exemple 1 ci-dessus et remplaçons continue;
par break;
que sera le résultat ?
<script type="text/javascript"> pour (var je = 1; je < 10; je++) { si(je % 2 != 0) { casser; } console.log(i); } </script>
La réponse est : ne produit rien . Pourquoi cela se produit-il ? Analysons-le :
au début de la boucle forx, i=1
, 1 est-il inférieur à 10 ? Bien sûr, alors l'instruction if(i % 2 != 0)
dans le corps de la boucle commence à être exécutée,
alors 1 peut-il diviser 2 ? Évidemment, ce n'est pas possible, donc si la valeur dans ()
est vraie, l'instruction " break;
" dans if est exécutée, sortant directement de la boucle entière, et il n'y a aucune chance d'exécuter " console.log(i);
" déclaration.
3. Boucles For imbriquées
Il convient de noter que break
et continue
ne sont valables que pour la boucle actuelle. Si nous avons des boucles imbriquées, nous devons être prudents. Jetons un coup d'œil à l'exemple suivant :
for (let i = 0; i < 5; i++) { si (i % 2 == 0) continuer ; pour (soit j = 0; j < 5; j++) { si (j == 2) pause ; console.log(`i = ${i}, j = ${j}`); } }
Ici, nous avons deux boucles, chacune exécutée 5 fois (0~4). Lorsque i est un nombre pair, la boucle externe saute la boucle en cours et exécute la suivante. C'est-à-dire que ce n'est que lorsque i vaut 1 ou 3 que la boucle interne sera exécutée.
La boucle interne se termine tant que la valeur de j est 2. Donc j n’a que 0 et 1.
Le résultat final est le suivant :
4. Balises JavaScript
À partir de JavaScript 1.2, les balises peuvent être utilisées conjointement avec break et continuer à contrôler l'exécution du programme avec plus de précision.
Les balises en JavaScript sont différentes des balises en HTML. Une balise en JavaScript est un identifiant (similaire à un nom de variable) suivi de deux points :. Les balises JavaScript peuvent être déclarées avant toute instruction ou bloc de code et utilisées conjointement avec break ou continuer à sortir d'une boucle spécifique. Par exemple, lorsque plusieurs boucles sont imbriquées, la simple utilisation de break ne peut que sortir de la boucle actuelle, mais. pas la boucle externe. Si vous utilisez break avec des étiquettes, vous pouvez sortir de plusieurs niveaux de boucles à la fois.
L'exemple de code est le suivant :
<script type="text/javascript"> document.write("Démarrer la boucle !<br /> "); externalloop : //Définir une étiquette pour (var i = 0; i < 5; i++) { document.write("Boucle externe : " + i + "<br />"); innerloop : // Définir une étiquette pour (var j = 0; j < 5; j++) { if (j > 3) break; // Sortez de la boucle interne if (i == 2) break innerloop; // Sortez du message interne if (i == 4) break externalloop; boucle externe document.write( "Boucle interne : " + j + " <br />"); } } document.write("Fin de boucle !<br /> "); </script>
Remarque : Il ne peut pas y avoir de nouvelle ligne entre break ou continue et l'étiquette. De plus, aucun autre code ne peut apparaître entre le nom du label et la boucle associée.
[Apprentissage recommandé : tutoriel avancé JavaScript]
Ce qui précède est le contenu détaillé de l'apprentissage en boucle JS : les instructions break et continue pour sortir de la boucle. Pour plus d'informations, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !