2012-01-03 76 views
45

這裏指定多個條件是我提兩個條件,如果這還是本如何在if語句中的javascript

if (Type == 2 && PageCount == 0) !! (Type == 2 && PageCount == '') 
    PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; 
} 

回答

77

只是if語句的主支架中添加他們像

if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { 
      PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; 
} 

從邏輯上講,這可以用更好的方式重寫! 這具有完全相同的意思

if (Type == 2 && (PageCount == 0 || PageCount == '')) { 
+2

也許他誤讀的書,什麼的。 – 2012-01-03 09:59:36

+0

Concur。也沒有條件的開放花括號。這沒有幫助。 – Tass 2015-01-23 20:21:45

4
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { 

     PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; 
} 

這可能是可能的解決方案之一,所以「或」是||不!

3

將它們包裹在一對額外的parens中,你很好。

if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) 
    PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; 
} 
5

整個if應該用括號括起來和or運營商||一個不!!,所以

if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ... 
7

我目前正在檢查大量的條件下,利用if語句變成笨拙方法超出了4個條件。只是分享對未來的觀衆乾淨尋找替代......這秤很好,我用:

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 
} 
6

有時你可以找到竅門,進一步結合statments。

例如像:

0 + 0 = 0 

"" + 0 = 0 

所以

PageCount == 0 
PageCount == '' 

可以這樣寫:

PageCount+0 == 0 

在javascript中0是一樣好false反相!它會變成0true

!PageCount+0 

的總計:

if (Type == 2 && !PageCount+0) PageCount = elm.value;