有没有办法让 javascript 运行 通过 if 语句中的所有条件,即使它知道它已经错了?

Is there a way to make the javascript run through all conditionals in an if statement, even if it knows it's already wrong?

我正在尝试 运行 通过一系列测验表格。如果他们遗漏了其中一个答案,我需要它来提醒用户。如果他们遗漏了不止一个,我需要发送不止一个警报。

function validate(){
  if ((q2Check() === true) && (q1Check() === true)){
    return true;
  }
  else{
    return false;
  }
}

上面的代码片段是检查所有返回 true 的问题的部分。目前只有2个问题。警报位于各个问题功能中。我的问题是,如果这两个问题都没有得到回答,则只会显示 q2Check 警报,大概是因为该警报返回 false,因此不再需要检查其余条件。

有没有办法让它检查所有条件,从而发出所有警报?

您可以在这里使用 Array.every

if ([q2Check(),q1Check()].every(function(b){ return b; })){
   return true;
} else {
   return false;
}

我们正在做的是,创建一个布尔数组(这意味着 q1Checkq2Check 都被调用并且关联警报也被提醒)然后我们使用 Array.every, return 是一个布尔值,表示数组的所有成员是否都满足要求的条件。

这里我们只是 return 布尔值 b,因为它是 truefalse