Heim > Web-Frontend > js-Tutorial > Hauptteil

Können Sie Ausdrücke in Switch-Case-Anweisungen in JavaScript verwenden?

Linda Hamilton
Freigeben: 2024-10-31 20:27:02
Original
115 Leute haben es durchsucht

Can You Use Expressions in Switch Case Statements in JavaScript?

Ausdrucksauswertung in Switch-Case-Anweisungen

Beim Erstellen von Switch-Anweisungen in der Programmierung kann es vorkommen, dass Sie Ausdrücke in Case-Klauseln verwenden möchten statt fester Werte. Während if-Anweisungen solche Ausdrücke problemlos berücksichtigen, bestehen Bedenken hinsichtlich der potenziellen Effizienz von switch-Anweisungen in solchen Szenarios.

Betrachten Sie den folgenden JavaScript-Code:

<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>
Nach dem Login kopieren

In diesem Beispiel versuchen wir eine Auswertung Ausdrücke innerhalb der Case-Klauseln. Wir stehen jedoch vor einem Problem, da die Ausdrücke nur boolesche Werte liefern, während der Betragswert, den wir vergleichen, eine Zahl ist. Diese Nichtübereinstimmung verhindert, dass die Case-Klauseln korrekt ausgelöst werden.

Eine praktikable Lösung ist die Verwendung einer alternativen Syntax:

<code class="javascript">switch (true) {
  case (amount >= 7500 && amount < 10000):
    // Code
    break;
  case (amount >= 10000 && amount < 15000):
    // Code
    break;
  // etc.
}</code>
Nach dem Login kopieren

Durch die Einführung des wahren Bezeichners wandeln wir die Ausdrucksauswertung effektiv in einen Vergleich um mit dem booleschen Wert true. Wenn der Ausdruck in einer Case-Klausel „true“ ergibt, wird der Code in dieser Klausel ausgeführt.

Obwohl diese Technik etwas unkonventionell erscheint, umgeht sie die Einschränkungen, die beim direkten Vergleich von Ausdrücken in Case-Klauseln auftreten. Dadurch können Sie das gewünschte Verhalten erreichen und gleichzeitig die Effizienzvorteile von Switch-Anweisungen beibehalten.

Das obige ist der detaillierte Inhalt vonKönnen Sie Ausdrücke in Switch-Case-Anweisungen in JavaScript verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!