有人可以帮助我理解JavaScript中OR运算符的正确语法。我正在使用||在我的脚本但不起作用。我有一个包含4个值的单选按钮列表。我想要一个下拉列表在值2或3上可见。我可以使用单个值2但在添加||时没有骰子工作没问题谁能提出建议吗?提前谢谢。
function ShowConvert() {
if (radConvert.GetValue() == 2 || 3) {
frmActivate.GetItemByName("ConvertHide").SetVisible(true);
}
else {
frmActivate.GetItemByName("ConvertHide").SetVisible(false);
}
};
答案 0 :(得分:1)
在javascript中使用||
运算符时,您实际上将if语句拆分为两个要评估的单独语句。如果其中任何一个为真,则if语句的计算结果为true。让我们来看看你的情况:
if (radConvert.GetValue() == 2 || 3) {
首先,javascript会查看||
运算符之前的部分,看看它是否计算为true
。
radConvert.GetValue() == 2
在这种情况下,让我们说这不是真的 - GetValue()没有返回2.因为语句的计算结果为false,所以javascript现在需要查看if条件的后半部分。
在||
运算符的另一侧,javascript只看到3
。 Javascript将此视为“truthy”值。由于您实际上并未将3与任何内容进行比较,因此javascript必须决定3应该等于true
还是false
。规范说3是真的,所以if语句作为一个整体评估为true,并且语句中的代码运行。
最简单的解决方法是在||
运算符 -
if(radConvert.GetValue() == 2 || radConvert.GetValue() == 3) {
...
}
答案 1 :(得分:0)
(radConvert.GetValue() == 2 || radConvert.GetValue() == 3)
2||3 =2

||意味着如果留下不是假的使用权
例如。
function(option){
option = option || {};
}