« Programmation JavaScript/Structures de contrôle » : différence entre les versions

Contenu supprimé Contenu ajouté
Touffy (discussion | contributions)
→‎Utilisation de break : comment ça, discutable ??
Touffy (discussion | contributions)
Ligne 162 :
 
De même que <code>continue</code>, <code>break</code> peut être suivi du nom d'une étiquette. Dans ce cas, l'exécution continue après la structure désignée par l'étiquette, pas après la boucle qui contient directement l'instruction <code>break</code>.
 
 
=== Étiquettes ===
 
Une étiquette est un identifiant suivi de ':' (deux points). On peut la placer avant une instruction ou une structure de contrôle.
 
Il n'y a '''pas''' d'instruction <code>goto</code> en JavaScript. Les étiquettes servent exclusivement à affiner l'utilisation de <code>break</code> et <code>continue</code> (voir plus haut).
 
<source lang="javascript">
str = "Liste des objets :\n"
annuler = false
 
parcoursListe : for(i in liste)
{
if(!liste.hasOwnProperty(i))
continue // passe à l'itération suivante dans cette boucle
str+="\n• L'élément «"+i+"» de la liste contient :\n"
if(annuler)
{
str+="\nopération annulée."
break // reprend l'exécution immédiatement après cette boucle
}
parcoursProps : for(j in liste[i])
{
if(!liste[i].hasOwnProperty(j))
continue // passe à l'itération suivante dans cette boucle
if(annuler)
{
str+="\nopération annulée."
break parcoursListe // reprend l'exécution immédiatement après la boucle extérieure
}
str+="- "+j+" = "+liste[i][j]+"\n"
}
}
 
</source>
 
=== for ===