1. ホーム
  2. javascript

[解決済み] Javascriptのスイッチ vs. if...else if...else

2022-04-23 23:28:20

質問

いくつか質問があります。

  1. JavaScriptのパフォーマンスで switch ステートメントと if...else ?
  2. もしそうなら、なぜですか?
  3. の動作は正常ですか? switchif...else ブラウザによって違うのですか?(FireFox、IE、Chrome、Opera、Safari)

この質問をしたのは、どうやら switch 文は、Firefoxで約1000ケースあります。


編集 残念ながらこれは私のコードではなく、Javascriptはコンパイルされたライブラリからサーバーサイドで生成されており、私はそのコードにアクセスすることができないのです。このJavascriptを生成しているメソッドは

CreateConditionals(string name, string arrayofvalues, string arrayofActions)

ノート arrayofvalues はカンマで区切られたリストです。

が生成されます。

function [name] (value) {
  if (value == [value from array index x]) {
     [action from array index x]
  }
}

注:ここで [name] = サーバーサイドの関数に渡される名前

ここで、関数の出力をTextAreaに挿入するように変更し、関数を解析するJavaScriptのコードをいくつか書いて、それを case ステートメントを使用します。

最後に関数を実行すると、正常に実行されますが、IEとFirefoxでパフォーマンスが異なります。

どうすればいいですか?

一般論でお答えします。

  1. はい、通常はそうです。
  2. 詳しい情報はこちら
  3. しかし、以下のサイトでテストを行ったところ、多くの反復処理において、switchは常にif, elseifを上回りました。

テストサイト