Javascript switch vs. if ... else if ... else

Jungs, ich habe ein paar Fragen:

  1. Gibt es einen Leistungsunterschied in JavaScript zwischen einer switch - Anweisung und eine if...else?
  2. Wenn ja, warum?
  3. Ist das Verhalten der switch und if...else verschiedenen Browsern? (FireFox, IE, Chrome, Opera, Safari)

Den Grund für diese Frage ist es scheint, dass ich erhalten bessere performance auf eine switch - Anweisung mit ca 1000 Fälle in Firefox.


Bearbeitet
Unfortuantly das ist nicht mein code, der Javascript erzeugt wird serverseitig aus einer kompilierten Bibliothek und ich habe keinen Zugriff auf den code. Die Methode, die der javascript aufgerufen wird

CreateConditionals(string name, string arrayofvalues, string arrayofActions)

Hinweis arrayofvalues ist eine durch Kommas getrennte Liste.

dem, was es produziert, ist

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

Hinweis: [name] = der name ging in die serverseitige Funktion

Nun wechselte ich die Ausgabe der Funktion eingefügt werden, in einer TextArea, schrieb einige JavaScript-code zu analysieren, die durch die Funktion und konvertiert es zu einer Reihe von case Aussagen.

endlich habe ich die Funktion ausgeführt und es läuft gut, aber die Leistung unterscheidet sich im IE und Firefox.

InformationsquelleAutor der Frage John Hartsock | 2010-05-27

Schreibe einen Kommentar