【发布时间】:2011-02-24 18:17:23
【问题描述】:
各位,我有几个问题:
-
switch语句和if...else之间的 JavaScript 性能是否存在差异? - 如果是,为什么?
-
switch和if...else的行为在浏览器中是否不同? (FireFox、IE、Chrome、Opera、Safari)
问这个问题的原因是,我似乎在 Firefox 中使用大约 1000 个案例的 switch 语句获得了更好的性能。
已编辑 不幸的是,这不是我的代码,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 中性能不同。
【问题讨论】:
-
我会建议一个代码示例来检查什么是最佳的。我的意思是,你问这个肯定是有原因的,对吧?
-
请发布您的最新动态,因为在我的长期经验中,很少有案例可以说是 100 案例 switch 语句或 100 部分 if/else 系列是好主意。
-
对不起,不是 100 岁,而是数千个条件
-
大家,感谢您的意见。但我的问题实际上并不是 if 和 swith 语句之间的区别。它是在语句中运行的代码。 +1 对你们所有人的帮助。很抱歉给您带来不便。有时您只需要与其他人讨论即可找到解决方案。
标签: javascript cross-browser conditional