有没有办法让 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;
}
我们正在做的是,创建一个布尔数组(这意味着 q1Check
和 q2Check
都被调用并且关联警报也被提醒)然后我们使用 Array.every
, return 是一个布尔值,表示数组的所有成员是否都满足要求的条件。
这里我们只是 return 布尔值 b
,因为它是 true
或 false
。
我正在尝试 运行 通过一系列测验表格。如果他们遗漏了其中一个答案,我需要它来提醒用户。如果他们遗漏了不止一个,我需要发送不止一个警报。
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;
}
我们正在做的是,创建一个布尔数组(这意味着 q1Check
和 q2Check
都被调用并且关联警报也被提醒)然后我们使用 Array.every
, return 是一个布尔值,表示数组的所有成员是否都满足要求的条件。
这里我们只是 return 布尔值 b
,因为它是 true
或 false
。