我是javascript新手,到目前为止,据我了解:

?:用于“如果为true,请执行此操作,如果为false,请执行此操作”

但是,我在使用||时遇到了更多麻烦。从我的浏览看来,就像“如果第一个是正确的,则执行此操作,否则执行此操作”

我正在尝试找出以下代码-在这种情况下有关它们的含义的任何建议?

function isSubset(series, description){
    var subset = true;
    var exactMatch = true;
    demoCodes = ['age', 'edu', 'race', 'sex'];
    for (var i = 0; i < demoCodes.length; i++){
        var demoCode = demoCodes[i];
        subset = (subset) ? (description[demoCode] == 0 || description[demoCode] == series[demoCode]) : false;
        exactMatch = (exactMatch) ? description[demoCode] == series[demoCode] : false;
    }
    return {subset: subset, exactMatch: exactMatch};
}


谢谢!干杯

最佳答案

||表示“或”。首先评估||的左侧。如果解析为true,则表达式解析为true。另一方面,如果||运算符的左侧解析为false,则将评估并返回右侧。

范例1:

1 == 1 || 1 == 0


由于||的左侧,因此将评估为true运算符是真的。

范例2:

1 == 2 || 1 == 1


左侧解析为false,因此对右侧进行求值并返回。在这种情况下,1 == 1,因此整个表达式(1 == 2 || 1 == 1)解析为true。

范例3:

1 == 2 || 1 == 3


左侧解析为false,因此对右侧进行求值并返回。在这种情况下,1不等于3,因此整个表达式(1 == 2 || 1 == 3)解析为false。

简而言之,如果||中的任何一个表达式“保持在一起”运算符为true,则表达式将返回true。否则,它将返回false。

关于javascript - Javascript问号和双管道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26636653/

10-14 14:40
查看更多