Maison > Article > interface Web > Pouvez-vous utiliser des expressions dans les instructions Switch Case en 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>
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>
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!