Как указать несколько условий в операторе if в javascript
вот как я упоминаю два условия, если это или это
if (Type == 2 && PageCount == 0) !! (Type == 2 && PageCount == '')
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
7 ответов:
просто добавьте их в основную скобку оператора if, например
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }
логически это может быть переписан в лучшую сторону тоже! это имеет точно такое же значение
if (Type == 2 && (PageCount == 0 || PageCount == '')) {
в настоящее время я проверяю большое количество условий, которые становятся громоздкими, используя метод оператора 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 == '')) { ...
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; }
Это может быть одним из возможных решений, так " или " это || не !!