家伙,我有几个问题:的Javascript开关主场迎战如果...否则,如果...否则
- 是否有
switch
语句和if...else
之间在JavaScript的性能差异? - 如果是这样,为什么?
- 是
switch
行为和跨浏览器if...else
不同? (FireFox,IE,Chrome,Opera,Safari)
问这个问题的原因似乎是,我在Firefox的约1000个案例中的switch
声明中获得了更好的性能。
编辑 Unfortuantly这不是我的代码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]
=传递到服务器端功能
现在我改变了函数的输出要插入一个文本区的名字,写了一些JavaScript代码通过函数解析,并将其转换为一组case
语句。
最后我执行此功能,它运行良好,但性能在IE和Firefox不同。
我会建议一个代码示例来检查哪些是最佳的。我的意思是,你有这个问题的理由,对吧? – jcolebrand 2010-05-27 16:34:57
请发表您的评论,因为在我长期的经历中,我很少会遇到这样的情况,我会说100个开关语句或100个部分的if/else系列是个好主意。 – Pointy 2010-05-27 16:40:54
对不起,你们不是100几岁,而是成千上万的条件 – 2010-05-27 17:04:42