Chicos, tengo un par de preguntas:
- ¿Hay una diferencia de rendimiento en JavaScript entre una
switchdeclaración y unaif...else? - Si es así, ¿por qué?
- Es el comportamiento de
switchyif...elsediferentes a través de los navegadores? (Firefox, IE, Chrome, Opera, Safari)
La razón para hacer esta pregunta es que parece que obtengo un mejor rendimiento en una switchdeclaración con aproximadamente 1000 casos en Firefox.
Editado Desafortunadamente este no es mi código, el Javascript se está produciendo en el servidor desde una biblioteca compilada y no tengo acceso al código. El método que produce el javascript se llama
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
note arrayofvalueses una lista separada por comas.
lo que produce es
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
Nota: where [name]= el nombre pasado a la función del servidor
Ahora cambié la salida de la función para insertarla en un TextArea, escribí un código JavaScript para analizar la función y la convertí en un conjunto de casedeclaraciones.
Finalmente ejecuto la función y funciona bien, pero el rendimiento difiere en IE y Firefox.