Đây là cách tôi đề cập đến hai điều kiện nếu điều này hoặc điều này
if (Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
Câu trả lời:
chỉ cần thêm chúng trong ngoặc chính của câu lệnh if như
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) {
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}
Về mặt logic, điều này cũng có thể được viết lại theo cách tốt hơn! Điều này có cùng ý nghĩa
if (Type == 2 && (PageCount == 0 || PageCount == '')) {
Đây là một cách thay thế để làm điều đó.
const conditionsArray = [
condition1,
condition2,
condition3,
]
if (conditionsArray.indexOf(false) === -1) {
"do somthing"
}
Hoặc ES6
if (!conditionsArray.includes(false)) {
"do somthing"
}
Tôi hiện đang kiểm tra một số lượng lớn các điều kiện, điều này trở nên khó sử dụng bằng cách sử dụng phương thức câu lệnh if ngoài 4 điều kiện. Chỉ để chia sẻ một giải pháp thay thế trông rõ ràng cho người xem trong tương lai ... quy mô phù hợp, tôi sử dụng:
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
}
ANDnhưng không phải OR.
toàn bộ ifnên được kèm theo trong dấu ngoặc và các ornhà điều hành là ||một không !!, vì vậy
if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...
Đôi khi bạn có thể tìm thấy các thủ thuật để kết hợp thêm các trạng thái.
Ví dụ như:
0 + 0 = 0
và
"" + 0 = 0
vì thế
PageCount == 0
PageCount == ''
có thể được viết như sau:
PageCount+0 == 0
Trong javascript 0cũng tốt như việc falseđảo ngược !nó sẽ biến 0thànhtrue
!PageCount+0
với tổng số:
if ( Type == 2 && !PageCount+0 ) PageCount = elm.value;
Quấn chúng vào một đôi parens bổ sung và bạn đã sẵn sàng.
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == ''))
PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}