与javascript中的一堆if()else if()相比,使用switch语句是否有任何性能提升

Is there any performance gain from using a switch statement over a bunch of if()else if() in javascript?

本文关键字:if 是否 语句 switch 任何 性能 使用 else javascript 相比 一堆      更新时间:2023-09-26

可能重复:
Javascript切换与if…否则…其他

只是想知道,是运行速度更快,还是在缓存中布局更好,或者通过使用交换机来提高性能?至少我知道它看起来很好,并允许下一个代码看到所有接下来的顺序语句都依赖于对同一变量的求值。

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

然而,最好的做法是使用if - else if,如果你有最多3个条件。如果您要超越这一点,您应该使用switch语句。

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

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

如果您希望baz在大多数情况下都是true,而foo/bar在很大程度上是false,那么从性能角度来看,该代码将没有多大意义。