在if语句中检查这两个条件,即使第一个条件为false

Check both conditions in an if statement even if the first one is false

本文关键字:条件 两个 false 第一个 语句 if 检查      更新时间:2023-09-26

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

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

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

我做了这个,但感觉像黑客:

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

有人有更好的解决方案吗?谢谢

另一种方式:

var first = myFunc(one),
    second = myFunc(two);
if (first && second) {
    //execute
}

在这种情况下,两者都将首先执行,然后检查是否为非错误值。

使用&操作员

看看这个例子

function a (){
    console.log(1);
    return true;
}
function b (){
    console.log(2);
    return false;
}
if(b() & a() == true){
console.log('asas');
}