强制 && 之后的语句在 && 之前的语句为 false 时执行

whe*_*hys 1 javascript boolean-logic

我已经使用为单个字段运行的验证函数设置了表单验证,更改其格式并返回一个布尔值。然后验证我拥有的表格

var isValid = validate(field1) && validate(field2) ... ;
Run Code Online (Sandbox Code Playgroud)

我希望突出显示每个无效字段,但是使用这种方法,一旦到达无效字段,验证就会停止(由于&&工作方式)。

显然,我可以将每个字段的验证作为单独的语句进行评估,然后在之后组合结果,但是有什么方法可以强制 && 在出现错误结果后不停止,或者以其他方式将代码保持在一个简洁的行中?

Ale*_* K. 5

你可以更合乎逻辑地(和可读性)打破它;

var isValid = validate(field1);
    isValid = validate(field2) && isValid;
    isValid = validate(fieldN) && isValid;
Run Code Online (Sandbox Code Playgroud)

您可以&按照 HMC 的建议使用 !! 得到一个布尔值!!(a & b & c)

甚至 var isValid = true == validate(field1) == validate(field2) == validate(fieldN);