伙计们,我有几个问题:
- JavaScript 中的
switch
语句和if...else
?之间是否存在性能差异? - 如果是为什么?
- 浏览器之间的
switch
和行为是否if...else
不同?(火狐、IE、Chrome、Opera、Safari)
问这个问题的原因似乎是我switch
在 Firefox 中使用大约 1000 个案例的语句获得了更好的性能。
编辑 不幸的是,这不是我的代码,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]
}
}
注意: where [name]
= 传入服务器端函数的名称
现在我把函数的输出改成一个TextArea,写了一些JavaScript代码通过函数解析,转换成一组case
语句。
最后我运行该函数,它运行良好,但在 IE 和 Firefox 中的性能不同。