这是我如何提及这个或这个
的两个条件if (Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
答案 0 :(得分:111)
只需将它们添加到if语句的主括号中,如
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) {
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
逻辑上,这也可以用更好的方式重写! 这具有完全相同的含义
if (Type == 2 && (PageCount == 0 || PageCount == '')) {
答案 1 :(得分:13)
我目前正在检查大量条件,使用超出4条件的if语句方法变得难以处理。只是为未来的观众分享一个干净的替代品...我可以很好地扩展,我使用:
var a = 0;
var b = 0;
a += ("condition 1")? 1 : 0; b += 1;
a += ("condition 2")? 1 : 0; b += 1;
a += ("condition 3")? 1 : 0; b += 1;
a += ("condition 4")? 1 : 0; b += 1;
a += ("condition 5")? 1 : 0; b += 1;
a += ("condition 6")? 1 : 0; b += 1;
// etc etc
if(a == b) {
//do stuff
}
答案 2 :(得分:7)
有时你可以找到进一步结合法则的技巧。
例如:
0 + 0 = 0
和
"" + 0 = 0
所以
PageCount == 0
PageCount == ''
可以写成:
PageCount+0 == 0
在javascript中0
与false
反转!
一样好,它会将0
变为true
!PageCount+0
总计:
if ( Type == 2 && !PageCount+0 ) PageCount = elm.value;
答案 3 :(得分:6)
整个if
应该用括号括起来,or
运算符是||
而不是!!
,所以
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...
答案 4 :(得分:6)
这是一种替代方法。
let conditionsArray = [
condition1,
condition2,
condition3,
]
if (conditionsArray.indexOf(false) === -1) {
"do somthing"
}
答案 5 :(得分:4)
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) {
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
这可能是可能的解决方案之一,所以'或'是||不!!
答案 6 :(得分:3)
将它们包裹在额外的一对parens中,你很高兴。
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == ''))
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
答案 7 :(得分:-1)
function go(type, pageCount) {
if ((type == 2 && pageCount == 0) || (type == 2 && pageCount == '')) {
pageCount = document.getElementById('<%=hfPageCount.ClientID %>').value;
}
}