Gente, eu tenho algumas perguntas:
- Existe uma diferença de desempenho no JavaScript entre uma
switchdeclaração e umaif...else? - Se sim, por quê?
- O comportamento
switche o comportamento sãoif...elsediferentes nos navegadores? (FireFox, IE, Chrome, Opera, Safari)
O motivo para fazer essa pergunta é que parece que eu obtive melhor desempenho em uma switchdeclaração com aproximadamente 1000 casos no Firefox.
Editado Infelizmente este não é o meu código, o Javascript está sendo produzido no servidor a partir de uma biblioteca compilada e não tenho acesso ao código. O método que está produzindo o javascript é chamado
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
note arrayofvaluesé uma lista separada por vírgula.
o que produz é
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
Nota: onde [name]= o nome passado para a função do lado do servidor
Agora mudei a saída da função a ser inserida em uma TextArea, escrevi algum código JavaScript para analisar a função e a converti em um conjunto de caseinstruções.
finalmente, eu executo a função e ela funciona bem, mas o desempenho difere no IE e no Firefox.