SELFHTML/Quickbar  JavaScript  Éléments du langage


Instructions conditionnelles (if-else/switch)

Cette page est un document avec du texte et des informations

 Conditions si, alors... avec "if"
 Simple demande soit, soit
 Différenciation de cas avec "switch"

 

JavaScript 1.0Netscape2.0MS IE3.0 Conditions si, alors... avec "if"

exemple Exemple d'affichage: aperçu

Vous pouvez faire dépendre l'exécution d'instructions de conditions.

Exemple:

<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>

Explication:

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.

 

JavaScript 1.0Netscape2.0MS IE3.0 Simple demande soit, soit

Pour les simple demandes soit, soit, il y a une syntaxe spéciale que vous pouvez employer en remplacement de l'instruction if/else.

Exemple:

<script language="JavaScript">
<!--
 var tuesun = (reponse == "42") ? "Génie" : "crétin";
 alert("Ta réponse me montre que tu es un" + tuesun + " !");
// -->
</script>

Explication:

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.

 

JavaScript 1.2Netscape4.0MS IE4.0 Différenciation de cas avec "switch"

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.

Exemple:

<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>

Explication:

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: Boucles (while/for/do-while)
avant: Opérateurs
 

SELFHTML/Quickbar  JavaScript  Éléments du langage

© 1998 Stefan Münz / © 2001 Traduction  Serge François, 13405@free.fr