我是javascript的新手,到目前为止,我的理解是:
?
& :
用于“if true,do this,if false,do this”
但是,||
我遇到了一些问题。从我的浏览看起来似乎是“如果第一个是真的那样做,否则就这样做”
我想弄清楚以下代码 - 在这个背景下对它们的含义有什么建议吗?:
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};
}
谢谢!干杯
答案 0 :(得分:1)
||
表示“或”。首先评估||
的左侧。如果它解析为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。
更简单地说,如果任何一个表达式“由||保持在一起” operator是true,那么表达式将返回true。否则,它将返回false。
答案 1 :(得分:1)
subset = (subset) ? (description[demoCode] == 0 || description[demoCode] == series[demoCode]) : false;
等于
if(subset){
subset = (description[demoCode] == 0 || description[demoCode] == series[demoCode);
}
else { subset = false; }
此处||
是一个或运算符,其评估结果为true
或false