如何在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; }