如果Else vs && ||

Gor*_*Gor 4 javascript c++ if-statement

用if else或&&和||编码是否有区别?运营商.

例如,在if-else样式中,我可以编写此代码

for( var i = 0; i < 1000000000; i ++ ) {
    if( i % 2 == 0 ) {
        f1();
    } else {
        f2();
    }
}
Run Code Online (Sandbox Code Playgroud)

在&&和||中 样式我可以使用此代码获得相同的结果

(( i % 2 == 0 ) && (test1() || true)) || test2();
Run Code Online (Sandbox Code Playgroud)

我在JS中测试它们,它们大约在同一时间工作,但我没有在C++上测试它们.也许它取决于编译器或语言.

有速度差吗?还是有什么不同?

谢谢

Law*_*llo 6

它可能会起作用,但您可能想要考虑的一件事是可读性.你的代码的第一个实例是非常易读的,而第二个实例让我想要拿笔和纸做数学.速度和可读性是权衡取舍,除非你的程序在性能方面严重瓶颈,否则可读性是更好的目标.