即使第一个条件为假,也要检查if语句中的两个条件

时间:2013-12-17 10:55:11

标签: javascript if-statement

我在if块中有两个语句,它们都链接到将返回bool的函数。对于要运行的代码,这两个语句都必须为true,但我希望它们都被检查,即使第一个是假的。相关代码:

if (myFunc(one) && myFunc(two)) {
    //execute
}

myFunc将在返回false之前执行一些代码,但如果返回false,则不会在两个代码上执行此代码。

我让这个工作,但感觉就像一个黑客:

if ((myFunc(one) && myFunc(two)) || (myFunc(two) && myFunc(one))) {
    //execute
}

有没有人有更好的解决方案?谢谢!

2 个答案:

答案 0 :(得分:3)

另一种方式:

var first = myFunc(one),
    second = myFunc(two);

if (first && second) {
    //execute
}

在这种情况下,将首先执行这两个操作并稍后检查非假值。

答案 1 :(得分:1)

使用&运营商

看看这个example

function a (){
    console.log(1);
    return true;
}

function b (){
    console.log(2);
    return false;
}

if(b() & a() == true){
console.log('asas');
}