Ragazzi, ho un paio di domande:
- Esiste una differenza di prestazioni in JavaScript tra
switchun'istruzione e unif...else? - Se sì, perché?
- È il comportamento di
switcheif...elsediverso 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 switchdichiarazione 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 caseistruzioni.
finalmente eseguo la funzione e funziona bene ma le prestazioni differiscono in IE e Firefox.