Hoe meerdere voorwaarden in een IF-verklaring in Javascript op te geven

Hier is hoe ik twee voorwaarden noem als dit of dit

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

Antwoord 1, Autoriteit 100%

Voeg ze gewoon toe binnen de hoofdbeugel van de IF-verklaring zoals

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

logischerwijs kan dit ook op een betere manier worden herschreven! Dit heeft precies dezelfde betekenis

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

Antwoord 2, Autoriteit 18%

Hier is een alternatieve manier om dat te doen.

const conditionsArray = [
    condition1, 
    condition2,
    condition3,
]
if (conditionsArray.indexOf(false) === -1) {
    "do somthing"
}

of ES6

if (!conditionsArray.includes(false)) {
   "do somthing"
}

Antwoord 3, Autoriteit 11%

Ik controleer momenteel een groot aantal omstandigheden, die onhandelbaar wordt met behulp van de IF-statementmethode die verder gaat dan 4 voorwaarden. Gewoon om een ​​schoon uitziende alternatief te delen voor toekomstige kijkers … die mooi schalen, gebruik ik:

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
}

Antwoord 4, autoriteit 3%

de hele ifmoet tussen haakjes staan en de operator oris ||en niet !!, dus

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

Antwoord 5, autoriteit 3%

Soms kun je trucs vinden om uitspraken verder te combineren.

Zoals bijvoorbeeld:

0 + 0 = 0

en

"" + 0 = 0

dus

PageCount == 0
PageCount == ''

kan worden geschreven als:

PageCount+0 == 0

In javascript is 0net zo goed als falsedoor !het zou 0veranderen in true

!PageCount+0

voor een totaal van:

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

Antwoord 6, autoriteit 2%

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

Dit kan een van de mogelijke oplossingen zijn, dus ‘of’ is || niet !!


Antwoord 7, autoriteit 2%

Wikkel ze in een extra paar haakjes en je bent klaar om te gaan.

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

Antwoord 8

function go(type, pageCount) {
    if ((type == 2 && pageCount == 0) || (type == 2 && pageCount == '')) {
        pageCount = document.getElementById('<%=hfPageCount.ClientID %>').value;
    }
}

Other episodes