Вот как я упоминаю два условия, если это или это
if (Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
Вот как я упоминаю два условия, если это или это
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 == '')) {
В настоящее время я проверяю большое количество условий, которые становятся громоздкими, используя метод 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
}
Иногда вы можете найти трюки для дальнейшего объединения статусов.
Как например:
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
должно быть заключено в скобки, а оператор or
||
не !!
, поэтому
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...
Вот альтернативный способ сделать это.
let conditionsArray = [
condition1,
condition2,
condition3,
]
if (conditionsArray.indexOf(false) === -1) {
"do somthing"
}
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) {
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
Это может быть одно из возможных решений, поэтому 'or' is || нет!!
Оберните их в дополнительную пару парнеров, и вам будет хорошо.
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == ''))
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}