【问题标题】:Combining nested conditional logical operators组合嵌套条件逻辑运算符
【发布时间】:2021-04-07 19:31:49
【问题描述】:

我想知道是否有任何人可以帮助我找到资源来教我更多关于逻辑运算符的知识,并为我回答一个问题。我想(为了满足我的好奇心)将这些嵌套条件检查与逻辑运算符组合到一个语句中。

if(obj1 != null && obj2 != null) {
    if(obj1 != undefined && obj2 != undefined) {
        //do something here
    }
}

我试过了

if((obj1 != null || obj1 != undefined) && (obj2 != null || obj2 != undefined)) {
    //do something here
}

但我认为这行不通,因为如果 obj1 或 obj2 等于 null 或 undefined,那么 or 语句将评估为 true。因此,如果 obj1 为 null 或 undefined 并且 obj2 为 null 或 undefined,则条件中的上述代码将被执行,这绝对不是我想要的。

那么我怎样才能将嵌套的条件组合成一行呢?

谢谢! :)

【问题讨论】:

    标签: nested conditional-statements logical-operators


    【解决方案1】:

    你可能想多了。类似代码

    if (a) {
        if (b) {
            // stuff
        }
    }
    

    仅当ab 都为真时才执行stuff,所以它简单地等价于

    if (a && b) {
        // stuff
    }
    

    因此,您所要做的就是将现有条件与&& 联系起来。你可以写

    if((obj1 != null && obj2 != null) && (obj1 != undefined && obj2 != undefined)) {
        //do something here
    }
    

    【讨论】:

    • 哇,你是对的。我想我想多了哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 2019-12-21
    • 2016-11-20
    相关资源
    最近更新 更多