在if语句中得到失败的条件

时间:2015-10-01 10:19:35

标签: javascript

考虑以下if语句

if (a === null || b === null || c === null) {
    // I want the failing condition
}

是否可以在不需要检查每一个的情况下获得失败的条件

if (a === null || b === null || c === null) {
    if (a===null){alert('a failed the check');}
    if (b===null){alert('b failed the check');}
    if (c===null){alert('c failed the check');}
}

我知道在上面的例子中很容易让它变得动态,考虑一个真实世界的例子来执行不同的测试。

3 个答案:

答案 0 :(得分:3)

不,在if块内无法获得评估为真的条件。

当然,因为您使用了or条件,您的代码可能只是

if (a===null){alert('a failed the check');}
else if (b===null){alert('b failed the check');}
else if (c===null){alert('c failed the check');}

没有外部if

答案 1 :(得分:2)

如果您想知道哪个条件失败,那么您需要明确说明在if条件下还有方式。像这样:

if(a===null){alert('a failed the check');}
    else if (b===null){alert('b failed the check');}
    else {alert('c failed the check');}

旁注:

当您使用||运算符时,一旦满足第一个false条件,它就不会检查下一个条件。

答案 2 :(得分:1)

你可以做类似的事情:

var failed = false;
if (a===null){alert('a failed the check');failed=true;}
if (b===null){alert('b failed the check');failed=true;}
if (c===null){alert('c failed the check');failed=true;}
if (failed) { /* common logic */ }