SELFHTML/Quickbar
JavaScript
Éléments du langage
![]() |
Instructions conditionnelles (if-else/switch) |
![]() |
|
![]() |
Vous pouvez faire dépendre l'exécution d'instructions de conditions.
<html><head><title>Test utilisateur</title> <script language="JavaScript"> <!-- var motpasse = "danseuretoile"; entree = window.prompt("Veuillez donner le mot de passe:",""); if(entree != motpasse) { alert("Mot de passe erroné!"); history.back(); } else document.location.href="secret.htm"; // --> </script> </head><body> </body></html> |
Avec if Vous introduisez une condition si, alors... (if =
si). Derrière, entre parenthèses, vous formulez la condition. Pour formuler
de telles conditions, vous avez besoin d' opérateurs
de comparaison et également, dans la plupart des cas, de
variables.
Pour les cas où la condition n'est pas remplie, vous pouvez définir une
alternative "sinon". Cela se fait avec else (else = sinon).
Une ramification Else n'est pas absolument indispensable. Si vous voulez
noter plus d'une instruction sous et dépendant de if ou de else,
vous devez les mettre entre des parenthèses accolade (voir aussi la partie
sur les blocs
d'instructions).
L'exemple ci-dessus représente une simple demande de mot de passe.
![]() ![]() |
Pour les simple demandes soit, soit, il y a une syntaxe spéciale que vous pouvez employer en remplacement de l'instruction if/else.
<script language="JavaScript"> <!-- var tuesun = (reponse == "42") ? "Génie" : "crétin"; alert("Ta réponse me montre que tu es un" + tuesun + " !"); // --> </script> |
Une simple demande soit..., soit... est introduite par une condition. La condition doit
être entre parenthèses, dans l'exemple (reponse == "42").
Derrière est noté un point d'interrogation. Derrière celui-ci est mentionnée
une valeur qui est celle qui est valable quand la condition est remplie. Suivent
deux points et une valeur pour le cas où la condition ne serait pas remplie.
Étant donné qu'il s'agit de valeurs qui n'ont de sens pour la suite que si
elles sont sauvegardées dans une variable, il est placé, en règle générale,
au début d'une telle demande soit..., soit... une variable -
dans l'exemple la variable tuesun. La variable se voit affecter par ce
genre d'instruction le résultat de la demande soit..., soit...
Pour formuler des conditions vous avez besoin d' opérateurs
de comparaison.
![]() ![]() |
Avec if et else vous pouvez différencier exactement deux cas. Si vous voulez opérer une différenciation plus fine, donc différencier entre plusieurs cas, vous pouvez certes noter plusieurs demandes if l'une derrière l'autre, mais il existe une possibilité plus élégante: la différenciation de cas avec "switch". Cette syntaxe, issue du langage de programmation C, existe en JavaScript seulement depuis la version 1.2 du langage - Les navigateurs plus anciens rencontrent de telles instructions avec un message d'erreur.
<script language="JavaScript"> <!-- entree = window.prompt("Entrez un nombre entre 1 et 4:",""); switch(entree) { case "1": alert("Vous êtes très modeste"); break; case "2": alert("Vous êtes un bipède sincère"); break; case "3": alert("Vous avez gagné un tricycle"); break; case "4": alert("Marchez à quatre pattes et vous serez plus modeste"); break; default: alert("Vous restez malheureusement sot"); break; } // --> </script> |
Avec switch vous introduisez une différenciation de cas (switch = interrupteur). Suit entre parenthèses une variable ou une expression pour la valeur actuelle de laquelle vous différenciez les cas. Dans l'exemple, c'est la variable entree. Cette variable se voit affecter une valeur avant la différenciation de cas, car une boite de dialogue (window.prompt()) avec un champ de saisie demande à l'utilisateur d'entrer un chiffre entre 1 et 4. La valeur entrée est sauvegardée dans entree.
Les différents cas que vous désirez distinguer sont notés dans des parenthèses accolade. Chaque cas distinct est introduit par case (case = cas). Suit la mention de la valeur que vous voulez vérifier. L'instruction case "1": dans l'exemple ci-dessus signifie à peu près: Si la variable entree a la valeur "1". Dans l'exemple une annonce individuelle est donnée pour chaque cas.
Le mot break à la fin est lui aussi important (break = interrompre). Si vous oubliez le mot, tous les cas suivants seront aussi exécutés mais ce n'est pas en général ce que vous voulez obtenir.
Pour le cas où aucun des cas définis n'est exact, vous pouvez à la fin de la différenciation de cas définir le cas default:. Les instructions notées après seront alors exécutées si aucun des autres cas n'est exact.
![]() | |
après:![]() |
![]() |
avant:![]() |
![]() |
SELFHTML/Quickbar
JavaScript
Éléments du langage
Serge François, 13405@free.fr