如何在javascript中的if语句中指定多个条件
这里是我提到两个条件如果这个或这个
if (Type == 2 && PageCount == 0) !! (Type == 2 && PageCount == '') PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }
只需将它们添加到if语句的主括号中即可
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }
从逻辑上讲,这可以用更好的方式来改写! 这个意思完全一样
if (Type == 2 && (PageCount == 0 || PageCount == '')) {
我目前正在检查大量的条件,除了说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 }
有时你可以find技巧来进一步结合使用。
例如:
0 + 0 = 0
和
"" + 0 = 0
所以
PageCount == 0 PageCount == ''
可以写成:
PageCount+0 == 0
在JavaScript 0
是一样好的false
颠倒!
它会变成0
!PageCount+0
总计为:
if ( Type == 2 && !PageCount+0 ) PageCount = elm.value;
整个if
应该括在括号中, or
运算符是||
一个不是!!
,所以
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }
这可能是可能的解决scheme之一,所以“或”是|| 不!
把它们包裹在一对额外的包袱里,你很好。
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }