ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で大なり/小なり比較に Switch ステートメントを使用するにはどうすればよいですか?

JavaScript で大なり/小なり比較に Switch ステートメントを使用するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-28 03:11:31
オリジナル
302 人が閲覧しました

How Can You Use Switch Statements for Greater-than/Less-than Comparisons in JavaScript?

大なり/小なり比較のための switch ステートメント

問題:

大なりを伴う switch ステートメントの使用また、小なり演算子は JavaScript 構文では使用できません。これは、範囲比較を効率的に実行する必要がある場合に課題となります。

解決策:

この問題に対処するにはさまざまなアプローチがありますが、最も効率的な解決策は、特定の使用例とブラウザ環境。以下にいくつかのテスト済みオプションを示します。

if-immediate (即時条件文):

<code class="javascript">if (scrollLeft < 1000) {
  // do stuff
} else if (scrollLeft > 1000 && scrollLeft < 2000) {
  // do other stuff
}
ログイン後にコピー

このメソッドは、ネストされた if 文を直接比較に使用するため、優れたパフォーマンスが得られます。 .

switch-immediate (即時 Switch-Case ステートメント):

<code class="javascript">switch (true) {
  case scrollLeft < 1000:
    // do stuff
    break;
  case scrollLeft > 1000 && scrollLeft < 2000:
    // do other stuff
    break;
}
ログイン後にコピー

switch ステートメントに似ていますが、内部的に if ステートメントを使用するため、switch ステートメントと同等になります。 if-immediate アプローチ。

switch-range (Switch-Case ステートメントの範囲マッチング):

<code class="javascript">switch (true) {
  case scrollLeft >= 0 && scrollLeft < 1000: // not recommended
  case scrollLeft >= 1000 && scrollLeft < 2000:
    // do stuff
    break;
}
ログイン後にコピー

このアプローチは、switch-immediate メソッドを拡張して処理します。範囲の比較。ただし、潜在的なオーバーフローやパフォーマンスの低下により、パフォーマンスに影響が出る可能性があります。

switch-range2 (変数を使用した範囲マッチング):

<code class="javascript">const range1 = [0, 1000];
const range2 = [1000, 2000];
switch (true) {
  case scrollLeft >= range1[0] && scrollLeft < range1[1]:
  case scrollLeft >= range2[0] && scrollLeft < range2[1]:
    // do stuff
    break;
}</code>
ログイン後にコピー

このメソッドは、比較を実行する範囲の配列。パフォーマンスと柔軟性のバランスが取れています。

ベンチマーク結果:

ブラウザのパフォーマンス比較:

  • if -immediate: ブラウザ間で最高のパフォーマンス
  • switch-immediate: if-immediate と同等
  • switch-range: if-immediate および switch-immediate より遅い
  • switch-range2 : switch-range
  • switch-indirect-array よりわずかに高速: 配列を伴うパフォーマンスが最も遅い

推奨事項:

パフォーマンスを最大化するには、 if-immediate を使用します。パフォーマンスが重要な問題ではない場合は、switch-immediate または switch-range2 を switch ステートメントの利便性を提供する代替オプションとして使用できます。パフォーマンスが低下するため、switch-indirect-array または array-binary-switch の使用は避けてください。

以上がJavaScript で大なり/小なり比較に Switch ステートメントを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート