Maison > interface Web > js tutoriel > le corps du texte

Pouvez-vous utiliser des expressions dans les instructions Switch Case en JavaScript ?

Linda Hamilton
Libérer: 2024-10-31 20:27:02
original
198 Les gens l'ont consulté

Can You Use Expressions in Switch Case Statements in JavaScript?

Évaluation des expressions dans les instructions de cas Switch

Lors de la création d'instructions switch en programmation, vous pouvez rencontrer des situations dans lesquelles vous souhaitez utiliser des expressions dans des clauses case au lieu de valeurs fixes. Alors que les instructions if acceptent facilement de telles expressions, des inquiétudes surgissent quant à l'efficacité potentielle des instructions switch dans de tels scénarios.

Considérez le code JavaScript suivant :

<code class="javascript">function reward(amount) {
    var $reward = $("#reward");
    switch (amount) {
        case (amount >= 7500 && amount < 10000):
            $reward.text("Play Station 3");
            break;
        case (amount >= 10000 && amount < 15000):
            $reward.text("XBOX 360");
            break;
        case (amount >= 15000):
            $reward.text("iMac");
            break;
        default:
            $reward.text("No reward");
            break;
    }
}</code>
Copier après la connexion

Dans cet exemple, nous tentons d'évaluer expressions dans les clauses case. Cependant, nous sommes confrontés à un problème car les expressions ne donnent que des valeurs booléennes, alors que la valeur du montant que nous comparons est un nombre. Cette inadéquation empêche les clauses case de se déclencher correctement.

Une solution viable consiste à utiliser une syntaxe alternative :

<code class="javascript">switch (true) {
  case (amount >= 7500 && amount < 10000):
    // Code
    break;
  case (amount >= 10000 && amount < 15000):
    // Code
    break;
  // etc.
}</code>
Copier après la connexion

En introduisant le véritable identifiant, nous convertissons efficacement l'évaluation de l'expression en une comparaison avec le booléen vrai. Lorsque l'expression dans une clause case est évaluée comme vraie, le code contenu dans cette clause s'exécutera.

Bien que cette technique semble légèrement non conventionnelle, elle contourne les limitations rencontrées lors de la comparaison directe d'expressions dans des clauses case. En conséquence, vous pouvez obtenir le comportement souhaité tout en conservant les avantages d'efficacité des instructions switch.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal