Référence de JavaScript 1.5 Core:Instructions:switch
Un article de MDC.
Sommaire |
[modifier] Résumé
Évalue une expression, en comparant sa valeur à un différents labels de cas, et exécute les instructions associées au cas correspondant.
| Instruction | |
| Implémentation : | JavaScript 1.2, NES 3.0 |
| Version ECMA : | ECMA-262, Édition 3 |
[modifier] Syntaxe
switch (expression) {
case label1:
instructions1
[break;]
case label2:
instructions2
[break;]
...
case labelN:
instructionsN
[break;]
default:
instructions_def
[break;]
}
[modifier] Paramètres
-
expression - Une expression à comparer avec chaque label.
-
labelN - Identifiant utilisé pour comparer avec
expression.
-
instructionsN - Instructions à exécuter si
expressioncorrespond au label associé.
-
instructions_def - Instructions qui seront exécutées si
expressionne correspond à aucun label.
[modifier] Description
Si une correspondance est trouvée, le programme exécute les instructions associées. Si plusieurs cas correspondent à la valeur spécifiée, seul le premier cas correspondant est sélectionné, même si les cas ne sont pas strictement égaux.
Le programme cherche d'abord une clause case avec un label correspondant à la valeur de l'expression et transfère alors le contrôle à cette clause, exécutant les instructions associées. Si aucun label ne correspond, le programme regarde si une clause default existe, et si c'est le cas, transfère le contrôle à cette clause, exécutant les instructions associées. Si aucune clause default n'est trouvée, le programme poursuit son exécution à l'instruction qui suit la fin du switch. Par convention, la clause default est la dernière clause, mais ce n'est pas obligatoire.
L'instruction break optionnelle, associée avec chaque label, permet de s'assurer que le programme sortira du switch une fois que l'instruction correspondante a été exécutée et que l'exécution se poursuivra à l'instruction qui suit le switch. Si break n'est pas précisé, l'exécution se poursuit à l'instruction suivante dans l'instruction switch.
[modifier] Exemples
[modifier] Exemple : utilisation de switch
Dans l'exemple qui suit, si expression est évaluée à "bananes", le programme trouvera le cas correspondant "bananes" et exécutera les instructions associées. Lorsqu'il rencontrebreak, le programme sort du switch et exécute l'instruction qui suit le switch. Si break n'était pas précisé, l'instruction pour le cas "cerises" aurait également été exécutée.
switch (expr) {
case "oranges":
document.write("Les oranges sont à 0,59 le kilo.<br>");
break;
case "pommes":
document.write("Les pommes sont à 0,32 le kilo.<br>");
break;
case "bananes":
document.write("Les bananes sont à 0,48 le kilo.<br>");
break;
case "cerises":
document.write("Les cerises ont à 3,00 le kilo.<br>");
break;
case "mangues":
case "papayes":
document.write("Les mangues et les papayes sont à 2,79 le kilo.<br>");
break;
default:
document.write("Désolé, nous n'avons plus de " + expr + ".<br>");
}
document.write("Désirez-vous autre chose ?<br>");