これまたはこれが2つの条件に言及する方法は次のとおりです
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
}
ANDが、そうではありませんOR。
全体ifを角かっこで囲む必要があり、or演算子はそうで||はない!!ので、
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...
場合によっては、ステートメントをさらに組み合わせるためのトリックを見つけることができます。
たとえば:
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;
余分な親のペアでそれらを包み、あなたは行ってもいいです。
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == ''))
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}