Ребята, у меня есть пара вопросов:
- Есть ли разница в производительности между 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.