Ось як я згадую дві умови, якщо це чи те
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 == '')) {
Ось альтернативний спосіб зробити це.
const conditionsArray = [
condition1,
condition2,
condition3,
]
if (conditionsArray.indexOf(false) === -1) {
"do somthing"
}
Або ES6
if (!conditionsArray.includes(false)) {
"do somthing"
}
В даний час я перевіряю велику кількість умов, що стає громіздким, використовуючи метод оператора 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
}
ANDале ні OR.
ціле ifмає бути вкладене в дужки, а orоператор - ||ні !!, тому
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...
Іноді можна знайти хитрощі для подальшого поєднання тверджень.
Як наприклад:
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((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == ''))
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
function go(type, pageCount) {
if ((type == 2 && pageCount == 0) || (type == 2 && pageCount == '')) {
pageCount = document.getElementById('<%=hfPageCount.ClientID %>').value;
}
}