Maison > interface Web > js tutoriel > Pourquoi les expressions dans les instructions Switch Case ne fonctionnent-elles pas comme prévu en JavaScript ?

Pourquoi les expressions dans les instructions Switch Case ne fonctionnent-elles pas comme prévu en JavaScript ?

DDD
Libérer: 2024-10-30 07:35:27
original
308 Les gens l'ont consulté

Why Do Expressions in Switch Case Statements Not Work as Expected in JavaScript?

Évaluation d'expression dans les instructions de cas Switch

En JavaScript, l'instruction switch évalue une expression unique par rapport à une série d'expressions constantes. Cependant, tenter d'utiliser des expressions dans les clauses case peut entraîner un comportement inattendu, comme le démontre l'extrait de code fourni.

L'objectif est d'utiliser une instruction switch pour déterminer une récompense en fonction de la valeur de la variable montant. . L'évaluation des expressions est tentée, comme le montrent les clauses case :

<code class="javascript">case (amount >= 7500 && amount < 10000):
// ...
case (amount >= 10000 && amount < 15000):
// ...
Copier après la connexion

Malheureusement, ces expressions sont évaluées en booléens (vrai ou faux) plutôt que de correspondre aux valeurs numériques du montant. Par conséquent, l'instruction switch n'entrera jamais dans aucun des cas.

Pour résoudre ce problème, une solution possible consiste à utiliser l'expression true comme valeur de cas et à évaluer l'expression à l'intérieur de la clause case, comme ceci :

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

Cette approche fonctionne car la valeur case est maintenant la valeur booléenne vraie et l'expression dans la clause case est évaluée à une valeur booléenne.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal