Ребята У меня есть пара вопросов:
- Есть ли разница в производительности в JavaScript между оператором
switch
иif...else
? - Если да, то почему?
- Влияет ли поведение
switch
иif...else
на разные браузеры? (FireFox, IE, Chrome, Opera, Safari)
Причина для запроса этого вопроса заключается в том, что я получаю лучшую производительность в выражении switch
с примерно 1000-секундными случаями в Firefox.
Edited К сожалению, это не мой код, Javascript создается сервером из компилируемой библиотеки, и у меня нет доступа к этому коду. Метод, создающий javascript, называется
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
note arrayofvalues
- список, разделенный запятой.
что он производит,
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
Примечание: где [name]
= имя, переданное в функцию serveride
Теперь я изменил вывод функции, которую нужно вставить в TextArea, написал некоторый код JavaScript для анализа этой функции и преобразовал ее в набор операторов case
.
Наконец, я запускаю функцию, и она работает нормально, но производительность отличается в IE и Firefox.