Подтвердить что ты не робот

Как указать несколько условий в инструкции if в javascript

Вот как я упоминаю два условия, если это или это

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

Ответ 1

просто добавьте их в основную скобку оператора if, например

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

Логически это также можно переписать лучше! Это имеет точно такое же значение

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

Ответ 2

В настоящее время я проверяю большое количество условий, которые становятся громоздкими, используя метод if 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
}

Ответ 3

Иногда вы можете найти трюки для дальнейшего объединения статусов.

Как например:

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;

Ответ 4

целое if должно быть заключено в скобки, а оператор or || не !!, поэтому

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

Ответ 5

Вот альтернативный способ сделать это.

let conditionsArray = [
    condition1, 
    condition2,
    condition3,
]

if (conditionsArray.indexOf(false) === -1) {
    "do somthing"
}

Ответ 6

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

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

Это может быть одно из возможных решений, поэтому 'or' is || нет!!

Ответ 7

Оберните их в дополнительную пару парнеров, и вам будет хорошо.

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