在javascript中使用一对if()else if()时使用switch语句是否有任何性能提升?

时间:2011-09-15 10:56:10

标签: javascript performance switch-statement if-statement

  

可能重复:
  Javascript switch vs. if…else if…else

只是好奇如果事情会运行得更快或者在缓存中更好地布局还是可以通过使用交换机来提高性能?至少我知道它看起来不错,并允许下一个代码看到所有下一个顺序语句都依赖于对同一个变量的评估。

1 个答案:

答案 0 :(得分:3)

通常,switchif - else if语句更快。

但是,如果您有最多3个条件,那么最佳做法是使用if - else if。如果超出此范围,则应使用switch语句。

if else的问题在于它可能需要在最终到达要执行的代码之前多次检查。因此,您还需要优化条件语句的顺序。

if( foo ) {
}
else if( bar ) {
}
else if( baz ) {
}

如果您希望baztruefoo / barfalse,那么从代码效果来看,该代码就没有多大意义时代。