Ragazzi, ho un paio di domande:
- Esiste una differenza di prestazioni in JavaScript tra
switch
un'istruzione e unif...else
? - Se sì, perché?
- È il comportamento di
switch
eif...else
diverso in tutti i browser? (FireFox, IE, Chrome, Opera, Safari)
Il motivo per cui ho posto questa domanda è che sembra che ottenga prestazioni migliori su una switch
dichiarazione con circa 1000 casi in Firefox.
Modificato sfortunatamente questo non è il mio codice, Javascript viene prodotto sul lato server da una libreria compilata e non ho accesso al codice. Viene chiamato il metodo che sta producendo javascript
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
la nota arrayofvalues
è un elenco separato da virgole.
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 lato server
Ora ho modificato l'output della funzione da inserire in un oggetto TextArea, ho scritto del codice JavaScript per analizzare la funzione e l'ho convertito in una serie di case
istruzioni.
finalmente eseguo la funzione e funziona bene ma le prestazioni differiscono in IE e Firefox.