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

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 43 :
La syntaxe est :
{{Cadre code|Exemple if|
<sourcesyntaxhighlight lang=javascript>
if (condition_vrai) // Exécution d'une ligne d'instructions
alert("La condition est vraie");
Ligne 54 :
alert("... je le confirme");
}
</syntaxhighlight>
</source>
}}
Le mot réservé '''else''' permet d'exécuter une ligne ou un bloc d'instructions alternativement au résultat de l'évaluation de l'expression logique.
{{Cadre code|Exemple if else|
<sourcesyntaxhighlight lang=javascript>
if (condition)
alert("La condition est vrai");
Ligne 76 :
alert("... je le confirme");
}
</syntaxhighlight>
</source>
}}
 
Ligne 93 :
Enfin, le mot réservé '''default''' couvre les cas différents de ceux traités par les '''case'''.<br/>
{{Cadre code|switch exemple 1|
<sourcesyntaxhighlight lang="javascript">
switch(ma_var)
{
Ligne 105 :
default : alert("Ma variable vaut autre chose que 1 ou 2");
}
</syntaxhighlight>
</source>
}}
On remarque les '''break''' systématiques dans ce cas.<br/>
Ligne 111 :
Deuxième exemple : Nous allons regrouper plusieurs cas, et déclencher plusieurs exécutions d'instructions pour certaines valeurs.
{{Cadre code|switch exemple 2|
<sourcesyntaxhighlight lang="javascript">
switch(ma_var)
{
Ligne 132 :
default: alert("Ma variable est négative ou supérieure à 7")
}
</syntaxhighlight>
</source>
}}
On remarquera l'utilisation des '''break''' pour regrouper des cas entre eux...
Ligne 142 :
Cette instruction permet à volonté de sauter des tours. L'exemple suivant saute le passage à zero d'une itération comprise entre -2 et 2.
{{Cadre code|Exemple de continue|
<sourcesyntaxhighlight lang="javascript">
for (var i=-2; i <= 2; i++)
{
Ligne 149 :
alert(i); // Affiche -2, puis -1, 1 et 2... mais pas le zero.
}
</syntaxhighlight>
</source>
}}
Cette fonctionnalité de '''continue''' est aussi applicable aux boucles '''while''' et '''do'''.
Ligne 166 :
 
Exemple pour sélectionner une option d'un menu déroulant :
<sourcesyntaxhighlight lang=javascript>
$(document).ready(function(){
$("#liste_deroulante > option").each(function() {
Ligne 175 :
});
});
</syntaxhighlight>
</source>
 
=== Étiquettes ===
Ligne 183 :
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).
 
<sourcesyntaxhighlight lang="javascript">
str = "Liste des objets :\n"
annuler = false
Ligne 210 :
}
 
</syntaxhighlight>
</source>
 
=== for ===
Ligne 217 :
Les modalités d'exécution de l'itération sont indiquées entre les parenthèses précédant le mot réservé for. L'instruction ou le bloc à exécuter se situent après.<br/>
Syntaxe:
<sourcesyntaxhighlight lang=javascript>
for (modalités) action;
ou
for (modalités){action1; action2;}
</syntaxhighlight>
</source>
 
 
Ligne 234 :
L'exemple le plus simple est le suivant :
{{Cadre code|Exemple for|
<sourcesyntaxhighlight lang=javascript>
for (i = 0; i < 5; i++)
{
alert(i); // Affiche 0, puis 1, puis 2, puis 3, puis 4
}
</syntaxhighlight>
</source>
}}
Dans cet exemple, nous avons initialisé la variable i à 0, défini la condition pour exécuter la boucle (répéter tant que i est strictement inférieur à 5) et défini le changement à effectuer à chaque tour (incrémenter i).<br/>
Ligne 249 :
On n'est pas tenu exclusivement d'incrémenter i. On peut modifier la valeur par pas de 2.<br/>
{{Cadre code|Autre exemple for|
<sourcesyntaxhighlight lang=javascript>
for (i = 4; i <= 10; i += 2)
alert(i + "est un nombre pair compris entre 4 et 10); // affiche 4, puis 6, 8 et 10
</syntaxhighlight>
</source>
}}
 
Ligne 258 :
De la même manière, une boucle peut être décroissante :
{{Cadre code|Exemple for, boucle décroissante|
<sourcesyntaxhighlight lang=javascript>
for (i = 5; i >= 0; i--)
alert(i); // affiche 5, puis 4, 3, 2, 1 et 0
</syntaxhighlight>
</source>
}}
 
Ligne 270 :
Grâce à l'opérateur <code>in</code> il est possible d'utiliser une forme spéciale de la boucle <code>for</code> pour parcourir un tableau ou une table associative (clé -> valeur) par ses indices/clés :
{{Cadre code|Exemple for, parcours d'un tableau|
<sourcesyntaxhighlight lang=javascript>
var tableau = [ "une", "boucle for", "spéciale" ];
for (var i in tableau)
alert(tableau[i]); // affiche successivement tous les éléments du tableau
// i valant successivement : 0, 1, 2
</syntaxhighlight>
</source>
}}
 
{{Cadre code|Exemple for, parcours d'une table associative|
<sourcesyntaxhighlight lang=javascript>
var table = { "yes":"oui" , "no":"non" , "maybe":"peut-être" };
for (var i in table)
alert(table[i]); // affiche successivement "oui", "non", "peut-être"
// i valant successivement : "yes", "no", "maybe"
</syntaxhighlight>
</source>
}}
 
Ligne 297 :
===== Variable modifiée =====
La structure for s'appuie sur une variable pour piloter le déroulement de la boucle. Seulement, elle ne rend pas la variable comme elle l'a reçue. Elle la modifie complètement. Pour éviter de modifier une variable par erreur, il est judicieux d'utiliser le mot réservé <code>var</code> pour déclarer une variable locale à la boucle :
<sourcesyntaxhighlight lang=javascript>
for (var i=0; ....
</syntaxhighlight>
</source>
 
=== while ===
La structure while conditionne l'exécution répétée d'une instruction ou d'un bloc d'instructions au test d'une expression logique.
<sourcesyntaxhighlight lang=javascript>
while (condition)
action;
Ligne 314 :
action2;
}
</syntaxhighlight>
</source>
 
Pour qu'il soit possible de sortir de la boucle, il faut que les instructions modifient à terme la condition pour la rendre fausse.
{{Cadre code|Exemple while|
<sourcesyntaxhighlight lang=javascript>
var i = 0; // Initialiser i
while (i<5) // Tant que i est strictement inférieur à cinq
i++; // ... l'incrémenter.
</syntaxhighlight>
</source>
}}
En langage c, la boucle while peut-être volontairement infinie : while(true) toujours vrai, mais en JavaScript, le navigateur ne l'acceptera probablement pas.
Ligne 328 :
=== do ===
La structure do permet d'exécuter une instruction ou un bloc d'instructions et de répéter cette action tant qu'une expression logique surveillée par while est vraie.
<sourcesyntaxhighlight lang=javascript>
do
action
while (condition)
 
</syntaxhighlight>
</source>
 
{{Cadre code|Exemple do|
<sourcesyntaxhighlight lang=javascript>
var i = 0;
do
Ligne 343 :
}
while(i < 5);
</syntaxhighlight>
</source>
}}