与javascript中的一堆if()else if()相比,使用switch语句是否有任何性能提升
Is there any performance gain from using a switch statement over a bunch of if()else if() in javascript?
可能重复:
Javascript切换与if…否则…其他
只是想知道,是运行速度更快,还是在缓存中布局更好,或者通过使用交换机来提高性能?至少我知道它看起来很好,并允许下一个代码看到所有接下来的顺序语句都依赖于对同一变量的求值。
通常,switch
比if - else if
语句更快。
然而,最好的做法是使用if - else if
,如果你有最多3个条件。如果您要超越这一点,您应该使用switch
语句。
if else
的问题在于,在最终到达要执行的代码之前,它可能需要检查多次。因此,您还需要优化条件语句的顺序。
if( foo ) {
}
else if( bar ) {
}
else if( baz ) {
}
如果您希望baz
在大多数情况下都是true
,而foo
/bar
在很大程度上是false
,那么从性能角度来看,该代码将没有多大意义。
相关文章:
- 是否可以将鼠标悬停(evt)与if条件结合使用
- 在JavaScript / jQuery中,是否有一种更短的方法可以编写在同一个测试变量上具有许多OR的“if”语句
- if语句中的第4行是否从第2行开始
- 如何在函数中编写 if/else 语句,告诉我一个数字是否可以被 2 整除(在 javascript 中)
- If.else语句检查NaN和空字符串是否在JavaScript中不起作用
- 检测是否按下了if语句的数字键
- 是否可以使用相同的变量使ng if的行为类似于ng show/ng hide
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- 是否可以创建涉及按钮的 if 语句
- 检查布尔键是否存在并将其包含在 if 语句中的最有效方法
- 用于确定是否存在多个变量的 if 语句简写
- 确定是否已在 if 语句中选择任何选项
- 创建 if 语句以指示是否应使用 if 语句
- 在 JS 中使用 if else 语句来检查 HTML 表单元素是否等于某个数字
- 设置一个 if else 函数来检测它是否是元音
- 是否可以使用 JavaScript 的 “if” 语句的值
- 检查 Javascript 变量是否在任何 if 语句中使用
- 是否可以仅在 if 语句返回 true 时才调用函数
- 在 Javascript 中使用 if 语句来确定 Google 电子表格中的单元格是否有内容
- Javascript 使用 if(foo) 存在来检查是否设置了变量