[英]Javascript Question Mark & Double Pipes
我是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。
subset = (subset) ? (description[demoCode] == 0 || description[demoCode] == series[demoCode]) : false;
等于
if(subset){
subset = (description[demoCode] == 0 || description[demoCode] == series[demoCode);
}
else { subset = false; }
||
是此处的or运算符,计算结果为true
或false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.