Oto, jak wymieniłem dwa warunki, jeśli to lub to
if (Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
javascript
adilahmed
źródło
źródło
Oto alternatywny sposób, aby to zrobić.
const conditionsArray = [ condition1, condition2, condition3, ] if (conditionsArray.indexOf(false) === -1) { "do somthing" }
Lub ES6
if (!conditionsArray.includes(false)) { "do somthing" }
źródło
Obecnie sprawdzam dużą liczbę warunków, które stają się nieporęczne przy użyciu metody instrukcji if poza powiedzmy 4 warunkami. Żeby podzielić się czysto wyglądającą alternatywą dla przyszłych widzów ... która ładnie się skaluje, używam:
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 }
źródło
AND
ale nieOR
.całość
if
należy ująć w nawiasy aor
operatorem jest||
nie!!
, więcif ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...
źródło
Czasami można znaleźć sztuczki do dalszego łączenia statystyk.
Jak na przykład:
0 + 0 = 0
i
"" + 0 = 0
więc
PageCount == 0 PageCount == ''
można zapisać tak:
PageCount+0 == 0
W JavaScript
0
jest tak samo dobra jakfalse
odwracanie!
okazałoby0
siętrue
!PageCount+0
łącznie:
if ( Type == 2 && !PageCount+0 ) PageCount = elm.value;
źródło
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }
Może to być jedno z możliwych rozwiązań, więc „or” jest || nie !!
źródło
Owiń je w dodatkową parę spodni i gotowe.
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }
źródło
function go(type, pageCount) { if ((type == 2 && pageCount == 0) || (type == 2 && pageCount == '')) { pageCount = document.getElementById('<%=hfPageCount.ClientID %>').value; } }
źródło