En plus de if...else, JavaScript possède une fonctionnalité appelée instruction switch. Un commutateur est une instruction conditionnelle qui évaluera une expression par rapport à un certain nombre de situations possibles et exécutera un ou plusieurs blocs de code en fonction de la situation correspondante. L'instruction switch est étroitement liée à l'instruction conditionnelle qui contient de nombreux autres blocs if, et elles sont souvent utilisées de manière interchangeable.
Dans ce tutoriel, nous apprendrons comment utiliser l'instruction switch et comment utiliser les mots-clés associés case, break et default. Enfin, nous verrons comment utiliser plusieurs cas dans une instruction switch.
[Recommandations de cours associées : Tutoriel vidéo JavaScript]
Switch
expression de calcul d'instruction Switch formule et exécutez le code à la suite de la casse correspondante. Cela peut sembler un peu intimidant au début, mais la syntaxe de base est similaire à une instruction if. Il sera toujours écrit en utilisant switch(){}, avec des parenthèses contenant l'expression à tester et des accolades contenant le code sous-jacent à exécuter.
Vous trouverez ci-dessous un exemple d'instruction switch avec deux instructions case et une solution de secours appelée default.
switch (expression) { case x: // execute case x code block break; case y: // execute case y code block break; default: // execute default code block }
En suivant la logique du bloc de code ci-dessus, voici la séquence d'événements qui va se produire :
L'expression est évaluée
Dans le premier cas, x sera testé contre l'expression. S'il y a une correspondance, le code sera exécuté et le mot-clé break mettra fin au bloc switch.
S'il ne correspond pas, x sera ignoré et y sera testé par rapport au cas d'expression. Si y correspond à l'expression, le code s'exécutera et quittera le bloc switch.
Si tous les cas ne correspondent pas, le bloc de code par défaut sera exécuté.
Faisons un exemple fonctionnel d'une instruction switch suivant la syntaxe ci-dessus. Dans ce bloc de code, nous utiliserons la nouvelle méthode Date() pour trouver le jour de la semaine en cours et getDay() pour imprimer le numéro correspondant au jour en cours. 1 représente le lundi et 7 représente le dimanche. Nous allons commencer par configurer les variables.
const day = new Date().getDay();
En utilisant switch, nous enverrons des messages à la console tous les jours de la semaine. Le programme s'exécutera dans l'ordre de haut en bas à la recherche de correspondances, et une fois qu'une correspondance sera trouvée, la commande break arrêtera le bloc switch et continuera à évaluer l'instruction.
week.js
// Set the current day of the week to a variable, with 1 being Monday and 7 being Sunday const day = new Date().getDay(); switch (day) { case 1: console.log("Happy Monday!"); break; case 2: console.log("It's Tuesday. You got this!"); break; case 3: console.log("Hump day already!"); break; case 4: console.log("Just one more day 'til the weekend!"); break; case 5: console.log("Happy Friday!"); break; case 6: console.log("Have a wonderful Saturday!"); break; case 7: console.log("It's Sunday, time to relax!"); break; default: console.log("Something went horribly wrong..."); }
Output 'Just one more day 'til the weekend!'
Ce code a été testé jeudi, ce qui correspond à 4, donc la sortie de la console est Juste un jour de plus jusqu'au week-end !. En fonction du jour de la semaine où vous testez votre code, votre résultat variera. Nous incluons un bloc par défaut à la fin pour s'exécuter en cas d'erreur, ce qui ne devrait pas arriver dans ce cas puisqu'il n'y a que 7 jours dans une semaine. Par exemple, nous pourrions également avoir les résultats d'impression uniquement du lundi au vendredi, et le bloc par défaut pourrait également contenir les mêmes informations pour les week-ends.
Si nous omettons le mot-clé break dans chaque instruction, aucune des autres instructions case ne sera évaluée comme vraie, mais le programme continuera à vérifier jusqu'à la fin. Pour rendre notre programme plus rapide et plus efficace, nous incluons la pause.
Plages de commutation
Il existe une situation où vous devez évaluer une plage de valeurs dans un bloc de commutation au lieu de comme dans le exemple au-dessus d’une valeur unique. Nous pouvons le faire en définissant l'expression sur true et en effectuant l'action dans chaque instruction case.
Pour rendre cela plus facile à comprendre, nous avons créé une application de notation simple qui prendra un score numérique et le convertira en note alphabétique, avec les exigences suivantes.
● Le niveau 90 et plus est A
● Le niveau 80 à 89 est B
● Le niveau 70 à 79 est C
● Le niveau 60 à 69 est D
Quantity Le niveau 59 ou inférieur est F
Nous pouvons maintenant l'écrire sous forme d'instruction switch. Puisque nous vérifions la plage, nous ferons quelque chose dans chaque cas pour vérifier si chaque expression est évaluée comme vraie, puis décomposerons l'instruction une fois que la véritable exigence sera remplie.
grades.js
// Set the student's grade const grade = 87; switch (true) { // If score is 90 or greater case grade >= 90: console.log("A"); break; // If score is 80 or greater case grade >= 80: console.log("B"); break; // If score is 70 or greater case grade >= 70: console.log("C"); break; // If score is 60 or greater case grade >= 60: console.log("D"); break; // Anything 59 or below is failing default: console.log("F"); }
Output 'B'
Dans cet exemple, l'expression entre parenthèses est évaluée comme vraie. Cela signifie que tout ce qui est évalué comme vrai est une correspondance.
Tout comme avec else, switch évalue de haut en bas et accepte la première vraie correspondance. Ainsi, même si notre variable de rang est 87 et est donc évaluée comme vraie pour C et D, la première correspondance est B et ce sera la sortie.
Cas multiples
Vous pouvez rencontrer du code dans lequel plusieurs cas devraient avoir le même résultat. Pour y parvenir, vous pouvez utiliser plusieurs cas pour chaque bloc de code.
Pour tester cela, nous allons créer une petite application qui correspond au mois en cours avec la saison appropriée. Tout d’abord, nous allons utiliser la nouvelle méthode Date() pour trouver le numéro correspondant au mois en cours et l’appliquer à la variable mois.
Pour plus de simplicité, notre application affichera les quatre saisons avec les spécifications suivantes :
● Hiver : janvier, février et mars
● Printemps : avril, mai et juin
● Été : juillet, août et septembre
● Automne : octobre, novembre et décembre
以下是我们的代码。
seasons.js
// Get number corresponding to the current month, with 0 being January and 11 being December const month = new Date().getMonth(); switch (month) { // January, February, March case 0: case 1: case 2: console.log("Winter"); break; // April, May, June case 3: case 4: case 5: console.log("Spring"); break; // July, August, September case 6: case 7: case 8: console.log("Summer"); break; // October, November, December case 9: case 10: case 11: console.log("Autumn"); break; default: console.log("Something went wrong."); }
当我们运行代码时,我们将根据上面的规范接收识别当前季节的输出。
Output Summer
出版时的当月是8,这与“夏季”季节产出的一个case陈述相对应。
结论:
在本文中,我们回顾了switch语句,这是一种条件语句,用于评估表达式并根据匹配结果输出不同的值。 我们使用范围和多个case语句检查了switch语句。
本文来自 js教程 栏目,欢迎学习!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!