【问题标题】:Is there any performance gain from using a switch statement over a bunch of if()else if() in javascript? [duplicate]在javascript中对一堆if()else if()使用switch语句是否有任何性能提升? [复制]
【发布时间】:2011-11-17 18:49:56
【问题描述】:

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

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

【问题讨论】:

    标签: javascript performance switch-statement if-statement


    【解决方案1】:

    一般来说,switchif - else if 语句快。

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

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

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

    如果您希望 baz 在大多数情况下为 truefoo/barfalse,那么从性能的角度来看,该代码将没有多大意义。

    【讨论】:

    • 感谢您的完整性检查!
    猜你喜欢
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    相关资源
    最近更新 更多