|
if - else
Cette structure vous permet d'exécuter des instructions seulement
lorsqu'une condition est véridique.
Syntaxe :
if (condition)
{
// instructions à exécuter si la condition
est vraie
}
else
{
// instruction à exécuter si la condition
est fausse
}
Le mot clé if doit être présent et est suivi
sur la même ligne par une condition écrite sous forme d'expression.
Sur la ligne suivante, on place les instructions à exécuter
si la condition est véridique , entre accolades s'il s'agit d'un
bloc, sur une ligne seul s'il s'agit que d'une seule instruction.
La partie d'alternative else n'est pas obligatoire. Les
instructions if peuvent être imbriquées les unes dans les
autres en précisant toujours la requête.
Exemple :
var nbEnfantsPetiteFamille= 3;
// prompt affiche une boîte et recueille
la réponse de l'usager
var nbEnfantsUsager= prompt("Combien avez-vous
d'enfants? ", "");
if (nbEnfantsUsager > nbEnfantsPetiteFamille)
document.write("Vous avez
une grosse famille! ");
else
{
document.write("Votre famille
est petite.");
var statut= prompt("Êtes-vous
marié(e) ?", "");
}
Switch
case
Le switch case est une structure de code qui permet d'exécuter
des actions différentes selon le contenu d'une expression ou d'une
variable. Le mot clé switch est suivi de l'expression ou de la
variable entre parenthèses. Les mots clés case identifie en suite ce que pourrait
contenir la variable avec le raisonnement suivant : dans le cas d'un «»,
etc.
Les blocs d'instructions se terminent par break, ce qui fait
sortir du switch case. La dernière instruction peut être un default, donc
indique les instructions à accomplir si le contenu de la variable
ne correspond pas aux cases précis. Le default n'est pas obligatoire, mais on ne l'enlève
que lorsqu'on est sûr qu'il est impossible que la variable contienne
une valeur non-comblée par un case.
Exemple :
switch(legume)
{
case "maïs" :
document.writeln("Les
maïs sont 4$ la douzaine. ");
break;
case "brocoli" :
document.writeln("Le
brocoli est 0,89¢ la livre. ");
break;
case "tomate" :
document.writeln("Les
tomates sont 3.50$ pour quatre. ");
break;
default :
document.writeln("Désolez,
nous n'avons plus de ce légume à vendre. ");
}
Si la variable nommée legume est égale
(donc contient textuellement) un des choix indiqués par un case,
l'instruction associée (ou le groupe d'instructions) sera exécutée.
~> Il ne faut pas oublier
de finir les instructions ou blocs d'instructions par un break; , ceci
peut créer des erreurs difficile à repérer <~
Boucle
for
Cette structure vous permet d'exécuter des instructions en boucle
pendant un nombre de fois (tour, itérations) prédéterminé
Le mot clé for est suivi de trois instructions entre parenthèses
séparées par des points-virgules.
La première partie est l'initiation d'une variable, la seconde la
condition de sortie utilisant la variable et la troisième l'incrémentation
de la variable.
i est le nom de variable le plus utilisé dans les boucles for.. il
signifie itération.
Exemple :
for (int i= 0, i < 5; ++i)
document.write(i);
Cette fonction écrit les nombre 0 1 2 3 4 à l'écran.
Donc la condition i < 5 fait en sorte que la boucle s'effectuera 5 fois.
Il est aussi possible de décrémenter la variable, de faire
sa condition en relation avec la grandeur d'un vecteur, etc...
Boucle while
Cette structure vous permet d'exécuter des instructions en boucle
tant que la condition est vraie.
Ceci implique donc qu'une variable doit changer de valeur à chaque
tour pour que la condition soit fausse à un moment pour ne pas tomber
dans le piège de la boucle infinie. Le mot clé while
est suivi d'une condition entre parenthèses.
Exemple :
// On demande un mot de passe à l'usager
jusqu'à temps qu'il entre le bon.
var motDePasse= "Sylvidre";
var reponse;
while ( reponse != motDePasse)
{
reponse= prompt("Quel est le mot
de passe?", "");
}
Boucle forever
Lorsqu'une boucle ne s'interrompt jamais, on dit qu'il s'agit d'une boucle
infinie. Il existe une boucle qui est « infinie » mais qui s'arrête
avec une condition de sortie
if / break mise quelque part au centre de la boucle. Cette boucle porte
le nom de forever et elle s'arrête lorsque la condition est vraie.
La boucle débute par le mot clé for(;;) où les
parenthèses et les deux points-virgules qu'elle comporte sont obligatoires.
Exemple (on suppose que les fonctions appelées sont crées
précédemment) :
for(;;)
{
// Affiche les choix possibles
que peut choisir l'usager sur son écran
AfficherMenuPrincipal();
// La fonction retourne le numéro
du choix que l'usager a fait
int choix= ObtenirChoix();
/***/
// Si l'usager a choisi le 0,
c'est qu'il veut terminer le programme
if (choix == 0) break;
/***/
switch(choix)
{
case "1"
: Jouer();
break;
case "2"
: AfficherStats(); break;
}
}
Ce code fait en sorte d'afficher un menu à l'usager. Ce dernier choisi
une option, elle est effectuée puis le menu réapparaît
pour qu'il fasse un autre choix, tant et aussi longtemps qu'il ne demande
pas d'arrêter en choisissant l'option 0.
Les standards d'écriture de la boucle forever comporte le fait
d'encadrer la condition de sortie de /***/ pour la mettre en évidence.
Le mot clé break fait sortir de la boucle; l'arrête.
Boucle do-while
La boucle «jusqu'à» do - while , exécute des
instructions jusqu'à ce que la condition de sortie mise à la
fin soit fausse.
L'avantage et la raison d'être de cette boucle est qu'elle permet d'exécuter
les actions au moins une fois.
Exemple :
var motDePasse= "Clio";
do
{
var reponse= prompt("Quel est
le mot de passe? ", "");
}
while (reponse != motDePasse)
Minuteries
Il est possible dans Javascript d'écrire des scripts à retardement
qui s'exécutent qu'à certains moments, grâce à
des minuteries (timers).
Cette fonction a la syntaxe suivante : window.setTimeout()
Elle accepte deux paramètres, le premier étant la fonction à
être exécutée mise entre guillemets puis suivie d'un
point-virgule.
Le second paramètre est une période de temps; une valeur
time, qui indique le temps d'attente avant l'exécution du premier
paramètre. Une valeur time de 5000 correspond à 5 secondes
puisque ces valeurs sont calculées en millisecondes(ms).
Exemple :
// Dans la partie d'entête...
function AfficherMessage()
{
document.write("Ascension réussie!");
}
// Dans la partie du body...
<body onLoad= "window.setTimeout('AfficherMessage();',
5000)">
Décollage du vaisseau dans 5 secondes...
</body>
Ce programme affiche un message que le vaisseau va
décoller, puis le change 2 secondes plus tard par «Ascension
réussie!».
Notez qu'il est important de mettre le point-virgule
à la suite du premier paramètre de setTimeout.
Notez que le premier paramètre est mis entre
apostrophe, c'est parce que les guillemets encerclaient déjà
le window.setTimeout et qu'on ne peut alterner deux types de guillemets
semblables.
Notez que le second paramètre de type time
ne doit pas contenir d'espace,
donc on écrit 5000 et non 5 000.
Intervalles
setTimeout() exécute «à retardement»
une ou des instructions, mais qu'une seule fois. Si on désirerait qu'il
recommence plusieurs fois nous pourrions le placer à l'intérieur
d'une boucle. Cependant, pour que l'exécution se produise à
intervalles réguliers il existe la fonction setInterval().
Cette fonction accepte deux paramètres, tout
comme setTimeout, le premier est la fonction ou instruction(s) à
exécuter et le second est la durée de l'intervalle entre chaque
exécutions. setInterval() continue tant et aussi longtemps
que la fonction clearInterval() n'a pas été invoquée.
Arrêt
Désamorcer les minuteries et
les intervalles
Pour être en mesure d'arrêter des minuteries
ou des intervalles de temps, il faut d'abord les avoir mis dans des variables.
Par exemple, var temps= window.setTimeout('Afficher();', 2000);
Ensuite, il est possible d'envoyer cette variable en paramètre à la fonction de
désamorçage : clearTimeout()
Pour les intervalles, la fonction se nomme clearInterval()
|