Ребята, у меня есть пара вопросов:
- Есть ли разница в производительности между JavaScript
switch
и операторомif...else
? - Если так, то почему?
- Является ли поведение
switch
иif...else
отличается в разных браузерах? (FireFox, IE, Chrome, Opera, Safari)
Причина, по которой я задаю этот вопрос, заключается в том, что мне кажется, что я получаю более высокую производительность в switch
заявлении с примерно 1000-ю случаями в Firefox.
К сожалению, это не мой код, 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]
= имя, переданное в функцию сервера
Теперь я изменил вывод функции для вставки в TextArea, написал некоторый код JavaScript для анализа функции и преобразовал его в набор case
операторов.
наконец, я запускаю функцию, и она работает нормально, но производительность отличается в IE и Firefox.