在javascript中的if语句中同时检查两个条件

在javascript中的if语句中同时检查两个条件,javascript,if-statement,Javascript,If Statement,如何使check1和check2一起运行-不要停止check1,也不要依赖其结果?如果运行这两个检查并将其返回值持久化为变量,则它们都保证运行。然后,您可以在if条件中使用结果,如下所示: if (!check1() || !check2()) { return } 我不知道为什么,但是通过','强制调用if条件中的函数: var check1 = check1(); var check2 = check2(); if (! check1 || ! check2) { //

如何使check1和check2一起运行-不要停止check1,也不要依赖其结果?

如果运行这两个检查并将其返回值持久化为变量,则它们都保证运行。然后,您可以在if条件中使用结果,如下所示:

if (!check1() || !check2()) {
    return
}

我不知道为什么,但是通过','强制调用if条件中的函数:

var check1 = check1();
var check2 = check2();

if (! check1 || ! check2) {
    // ...
}

详细说明!你能详细说明你想做什么吗?如果您不想依赖check1,那么只需使用If!CHECK2是否要运行check1,但不想使用其结果?不清楚您在问什么。@David很可能check1和check2做了更多他们的名字所暗示的事情,并被期望执行其他操作。正如您可能从否决票和其他评论中收集到的,您的代码产生了一些歧义,因为不知道check1和check2实际上做了什么。从您的问题中不清楚您期望的不仅仅是处理带有布尔结果的检查。让方法执行除计算返回结果以外的其他处理被认为是糟糕的设计。如果你坚持要保留它,你至少应该将你的方法重命名为check1,然后做其他事情来弄清楚到底发生了什么。这是对的,我不明白为什么它有两张反对票。虽然这在技术上是正确的,应该警告OP,声称执行检查的方法不应该有任何需要执行该方法的附带责任。
 var b1 , b2 ;
 if ( (b1=!check1() , b2 = !check2() , b1 || b2 ) ) {
     return
 }
 /*// or
 If ( !( (check1() && true) && (check2() && true) ) ){
     return
 }*/