Heim >Web-Frontend >js-Tutorial >Können Sie eine Switch-Anweisung für Größer-als-/Kleiner-als-Vergleiche in JavaScript verwenden?

Können Sie eine Switch-Anweisung für Größer-als-/Kleiner-als-Vergleiche in JavaScript verwenden?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 10:32:021059Durchsuche

 Can You Use a Switch Statement for Greater-Than/Less-Than Comparisons in JavaScript?

Erstellen einer Schalteranweisung für Größer-als-/Kleiner-als-Vergleiche

In bestimmten Szenarien möchten Sie möglicherweise einen Schalter verwenden Anweisung zum Behandeln von Größer-als- und Kleiner-als-Vergleichen, die einer Syntax wie der folgenden ähneln:

switch (scrollLeft) {
  case (<1000):
   //do stuff
   break;
  case (>1000 &amp;&amp; <2000):
   //do stuff
   break;
}

Die Verwendung einer solchen Syntax führt jedoch zu einem Fehler. Dieser Artikel soll Einblicke in die effizientesten Möglichkeiten geben, diese Funktionalität mithilfe der Switch-Anweisungssyntax zu erreichen.

Basierend auf dem Vergleich verschiedener Ansätze ist die optimalste Methode, die durch Tests über mehrere Browser hinweg ermittelt wurde, die „Switch- „range2“-Ansatz:

switch (true) {
  case 0 <= scrollLeft && scrollLeft < 1000:
  //...do stuff
  //...more actions
  //...
  break;
  case 1000 <= scrollLeft && scrollLeft < 2000:
  //...do stuff
  //...more actions
  //...
  break;
  //...add more ranges as needed
}

Dieser Ansatz ist in allen getesteten Browsern im Vergleich zu anderen Alternativen deutlich schneller. Es verwendet eine Reihe aufeinanderfolgender Fallanweisungen, um die gewünschten Bereiche effektiv abzudecken.

Der Kürze halber wurden die vollständigen Testergebnisse, die die Leistungsunterschiede zwischen verschiedenen Ansätzen veranschaulichen, in dieser Antwort weggelassen.

Das obige ist der detaillierte Inhalt vonKönnen Sie eine Switch-Anweisung für Größer-als-/Kleiner-als-Vergleiche in JavaScript verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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