Ragazzi ho un paio di domande:interruttore Javascript contro if ... else if ... else
- C'è una differenza di prestazioni in JavaScript tra una dichiarazione e di un
switch
if...else
? - Se sì, perché?
- Il comportamento di
switch
eif...else
è diverso nei vari browser? (Firefox, IE, Chrome, Opera, Safari)
La ragione di questa domanda è sembra che ricevo una migliore performance su una dichiarazione switch
con 1000s circa i casi in Firefox.
cura Unfortuantly questo non è il mio codice Javascript è prodotto serverside da una libreria compilata e non ho accesso al codice. Il metodo che produce il javascript è chiamato
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
nota arrayofvalues
è un elenco separato.
ciò che produce è
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
Nota: dove [name]
= il nome passato alla funzione serverside
Ora ho cambiato l'uscita della funzione da inserire in una TextArea, ha scritto un codice JavaScript per analizzare la funzione e convertirla in un set di istruzioni case
.
finalmente eseguo la funzione e funziona bene ma le prestazioni differiscono in IE e Firefox.
Vorrei suggerire un esempio di codice per esaminare cosa è ottimale. Voglio dire, ci dev'essere una ragione per cui lo stai chiedendo, vero? – jcolebrand
Si prega di postare ciò che si sta facendo, perché ci sono pochissimi casi nella mia lunga esperienza per i quali direi che un'istruzione switch di 100 casi o una serie di 100 se/else è stata una buona idea. – Pointy
scusate ragazzi non 100 ma migliaia di condizioni –