javascript:检测逻辑OR条件的结果

时间:2016-01-02 05:33:07

标签: javascript loops if-statement conditional logical-operators

是否有内置的方法来检测逻辑中的哪一半或条件中的哪一个是真的?

// foo would return true or false    
if (thing1 === "3" || thing2 === foo()) {
     // do something if thing1 is 3
     // do something different if thing2 is true    
};

或者我应该只使用两个嵌套的if块?

4 个答案:

答案 0 :(得分:1)

我不确定“嵌套”部分,但通常只是简单地完成:

if (thing1 === "3") {
     // do something if thing1 is 3
} else if (thing2 === foo()) {
    // do something different if thing2 is true
}

答案 1 :(得分:1)

使用两个if块。没有内置的方法来做到这一点。

如果foo()返回true或false,则不需要thing2 === foo(),并且末尾的分号是无关的。

if (thing1 === "3") {
     // do something 
} else if (foo()) {
     // do something else
}

答案 2 :(得分:1)

是。不要把它聚在一起:

if (thing1 === "3") {

     // do something if thing1 is 3
}
else if(thing2 === foo()) {

     // do something different if thing2 is 'equal to return value of foo()'
}

嵌套不管怎样,因为它是条件。

答案 3 :(得分:1)

使用if ans elseif是个不错的选择

if ("3" === thing1) {
 // do something if thing1 is 3 
} else if (thing2  === foo()) {
 // do something different if thing2 is true
}