Leute, ich habe ein paar Fragen:
- Gibt es in JavaScript einen Leistungsunterschied zwischen einer
switch
Anweisung und einerif...else
? - Wenn ja warum?
- Ist das Verhalten
switch
undif...else
andere in allen Browsern? (FireFox, IE, Chrome, Opera, Safari)
Der Grund für diese Frage ist, dass ich bei einer switch
Aussage mit ca. 1000 Fällen in Firefox anscheinend eine bessere Leistung erhalte .
Bearbeitet Leider ist dies nicht mein Code. Das Javascript wird serverseitig aus einer kompilierten Bibliothek erstellt und ich habe keinen Zugriff auf den Code. Die Methode, mit der das Javascript erstellt wird, wird aufgerufen
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
note arrayofvalues
ist eine durch Kommas getrennte Liste.
was es produziert ist
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
Hinweis: Dabei wird [name]
der Name an die serverseitige Funktion übergeben
Jetzt habe ich die Ausgabe der Funktion, die in eine TextArea eingefügt werden soll, geändert, JavaScript-Code geschrieben, um die Funktion zu analysieren, und ihn in eine Reihe von case
Anweisungen konvertiert .
Schließlich starte ich die Funktion und sie läuft gut, aber die Leistung unterscheidet sich in IE und Firefox.