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