Objectif
- Connaitre les structures conditionnelles en JavaScript
Définition et utilisation
- L'instruction
switchpermet de sélectionner un bloc d'instructions à exécuter en fonction de la valeur d'une expression passée en paramètre. - On associe à chaque valeur qu'on souhaite traiter un bloc d'instructions à l'aide du mot case.
- Toutes les valeurs non traitées (c'est-à-dire auxquelles on n'a associé aucun bloc) provoqueront l'exécution du bloc nommé portant le nom défaut.
- L'instruction
SWITCHest une variante deELSE IFmais elle reste moins souple car elle n'accepte que des égalités.
- L'instruction
Syntaxe
switch (expression) { case valeur1 : break; case valeurN : break; default : }Lorsque JavaScript atteint un mot clé break , il sort du bloc de commutation.Cela arrêtera l'exécution de plus de code et de tests de cas à l'intérieur du bloc.
Exemple :
<!doctype html> <html> <head> <script> function afficher(){ alert("eeeee"); var saison = document.getElementById("IdText").value; var element = document.getElementById("IdDiv"); switch (saison) { case 'printemps' : // document.getElementById("IdDiv").innerHTML element.innerHTML ='<H1>Voilà le printemps...</H1>'; break case 'été' : element.innerHTML ='<H1>Voilà l\'été...</H1>'; break case 'automne' : element.innerHTML ='<H1>Voilà l\'automne...</H1>'; break case 'hiver' : element.innerHTML ='<H1>Voilà l\'hiver...</H1>'; break default : element.innerHTML ='<H1>Désolé, mais là je ne sais pas</H1>'; } } </script> </head> <body> <form action=""> <input type="text" value="" id="IdText" size="50"/> <input type="button" value="Envoyer" onclick="afficher()" /> <div id="IdDiv"> </div> </form> </body> </html>Applications
A1
- Créez un fichier HTML nommé application3.html, qui comporte un script permettant de lire le numéro d'un mois et la valeur d'une année puis de déterminer le nombre de jours de ce mois ; (sans utiliser la structure conditionnelle généralisée).
<!doctype html> <HTML lang="fr"> <HEAD> <meta charset="UTF-8"> <TITLE>Switch</TITLE> </HEAD> <BODY> <script language="javascript"> var m= window.prompt("Entrez le numéro du mois :",""); var a= window.prompt("Entrez la valeur d'année ","20") switch(m) { case "1": case "3": case "5": case "7": case "8": case "10": case "12": j=31; break; case "4": case "6": case "9": case "11": j=30; break; case "2": if (a%4==0){ j=29; }else{ j=28; } } alert("le nombre des jours du mois n° " + m +" est = " +j+ " de l'année: "+a); </script> </BODY> </HTML>