Hãy nghĩ về
if[!a && !b] {
// is not a and is not b
}
9 [toán tử phủ định] là "không phải", // if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
0 [toán tử Boolean-OR] là "hoặc" và // if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
1 [boolean và toán tử] là "và". Xem các toán tử và người vận hành ưu tiên.Thus:
if[![a || b]] {
// means neither a nor b
}
Tuy nhiên, sử dụng luật của De Morgan, nó có thể được viết là:
if[!a && !b] {
// is not a and is not b
}
// if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
2 và // if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
3 ở trên có thể là bất kỳ biểu thức nào [chẳng hạn như // if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
4 hoặc bất cứ điều gì nó cần].Một lần nữa, nếu
// if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
5 và // if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
4, là các biểu thức, lưu ý sự mở rộng của mẫu thứ 1:// if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
-4
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Đây là một câu hỏi cơ bản, nhưng tôi đã tự hỏi làm thế nào để làm một cái gì đó như:
Nếu
// if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
7 không bằng 1 hoặc 2 hoặc 3 thì // if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
8Chúng ta có thể làm điều đó như:
if [![i==1&2&3]] { alert['yes']}
Thay vì:
if [![[i==1] || [i==2] || [i ==3] ]] { alert['yes'];}
Biffen
6.0896 Huy hiệu vàng30 Huy hiệu bạc34 Huy hiệu đồng6 gold badges30 silver badges34 bronze badges
Đã hỏi ngày 2 tháng 6 năm 2015 lúc 9:38Jun 2, 2015 at 9:38
3
Bạn có thể sử dụng
// if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
9, nhưng tôi không biết chính xác những gì bạn đang cố gắng đạt được?switch [i] {
case 1:
case 2:
case 3:
break;
default:
alert[yes];
}
Hoặc thậm chí là một bàn tra cứu, một cái gì đó như thế này.
var x = {
1: true,
2: true,
3: true
};
if [!x[i]] {
alert['yes'];
}
Nhưng nếu bạn muốn nghiêm ngặt về nó và có rất ít bài kiểm tra để thực hiện, thì có lẽ không có gì tốt hơn.
if [i !== 1 && i !== 2 && i !== 3] {
alert['yes'];
}
Đã trả lời ngày 2 tháng 6 năm 2015 lúc 9:48Jun 2, 2015 at 9:48
Xotic750Xotic750Xotic750
22.3k8 Huy hiệu vàng55 Huy hiệu bạc78 Huy hiệu Đồng8 gold badges55 silver badges78 bronze badges
2
Tạo một mảng và sử dụng indexof []
if[[1,2,3].indexOf[i] < 0]{
alert['yes'];
}
Nếu kết quả lớn hơn
if [![i==1&2&3]] { alert['yes']}
0, điều đó có nghĩa là // if[![a || b]]
if[![[test == 'A'] || [test == 'B']]]
// or more simply, removing the inner parenthesis as
// || and && have a lower precedence than comparison and negation operators
if[![test == 'A' || test == 'B']]
// and using DeMorgan's, we can turn this into
// this is the same as substituting into if[!a && !b]
if[![test == 'A'] && ![test == 'B']]
// and this can be simplified as ![x == y] is the same as [x != y]
if[test != 'A' && test != 'B']
7 là một trong những giá trị đó.Tôi không nghĩ
if [![i=1&2&3]] { alert['yes']}
sẽ hoạt động [theo mục tiêu của bạn] vì
if [![i==1&2&3]] { alert['yes']}
2 là bitwise và. Ngoài ra, bạn đang sử dụng một toán tử if [![i==1&2&3]] { alert['yes']}
3AND. Also, you are using one if [![i==1&2&3]] { alert['yes']}
3 operatorĐã trả lời ngày 2 tháng 6 năm 2015 lúc 9:39Jun 2, 2015 at 9:39
AmmarcSeamMarcseAmmarCSE
29,5K5 Huy hiệu vàng41 Huy hiệu bạc53 Huy hiệu Đồng5 gold badges41 silver badges53 bronze badges
3
Đây là một nhiệm vụ lập trình dường như đơn giản mà chúng tôi đối phó hàng ngày. Ở đây, tình hình:
- 1] Bạn có một chuỗi trong JavaScript, như
4.if [![i==1&2&3]] { alert['yes']}
- 2] Bạn cần biết liệu chuỗi đó có bằng một trong nhiều giá trị hay không, giả sử
5 hoặcif [![i==1&2&3]] { alert['yes']}
6 [vì trái cây màu vàng cần chế biến trái cây màu vàng đặc biệt hoặc một cái gì đó].if [![i==1&2&3]] { alert['yes']}
Hầu hết mọi người hoàn thành điều này bằng cách thực hiện các so sánh hai chuỗi được kết nối bởi một logic hoặc, trông như thế này:
if[!a && !b] {
// is not a and is not b
}
0Mà hoạt động tốt, nhưng hơi cồng kềnh. Ý tôi là, bạn phải gõ
if [![i==1&2&3]] { alert['yes']}
7 hai lần. Nó cũng không có quy mô tốt. Giả sử sản phẩm chế biến trái cây của bạn cất cánh và bạn cần hỗ trợ nhiều trái cây hơn, bây giờ bạn có điều này:if[!a && !b] {
// is not a and is not b
}
1Điều này đang trở nên hơi xấu xí. Hãy cùng xem xét một số cách khác để thực hiện cùng một kiểm tra.
Công tắc
Câu lệnh chuyển đổi có thể được sử dụng để đạt được cùng một đầu:
if[!a && !b] {
// is not a and is not b
}
2Cách tiếp cận này sẽ hữu ích nếu chúng ta phải xử lý nhiều phân loại trái cây. Nhưng để kiểm tra nó, rất nhiều việc gõ và chiếm rất nhiều không gian.
Dựa trên mảng
ECMAScript 5 đã giới thiệu một phương thức
if [![i==1&2&3]] { alert['yes']}
8 trên if [![i==1&2&3]] { alert['yes']}
9 [tài liệu]. Chúng ta có thể sử dụng điều này để tạo một mảng trên đường bay, sau đó xem liệu giá trị có khớp với một trong các giá trị trong mảng hay không:if[!a && !b] {
// is not a and is not b
}
3Điều này là tốt hơn, nhưng vẫn không lý tưởng. Hiểu mã này dựa trên người đọc biết rằng phương thức
if [![i==1&2&3]] { alert['yes']}
8 trả về if [![i==1&2&3]] { alert['yes']}
0, điều này không nhất thiết là kiến thức phổ biến.Ngoài ra, vì
if [![[i==1] || [i==2] || [i ==3] ]] { alert['yes'];}
2 đã được thêm vào Ecmascript 5, nó không có mặt trong IENói về các thư viện, hầu hết cung cấp một phương tiện trình duyệt chéo để tìm các giá trị trong một mảng.
jQuery
JQuery cung cấp một phương thức
if [![[i==1] || [i==2] || [i ==3] ]] { alert['yes'];}
4 [tài liệu]:if[!a && !b] {
// is not a and is not b
}
4Gạch dưới
UnderCore.js cung cấp một phương thức
if [![[i==1] || [i==2] || [i ==3] ]] { alert['yes'];}
5 [tài liệu]:if[!a && !b] {
// is not a and is not b
}
5Các thư viện khác cung cấp các phương pháp tương tự. Cá nhân, tôi thấy API Undercore là sạch nhất. Các API chứa trực giác trả lại một boolean và ở đó không có nhiều để gõ. Tuy nhiên, bạn có thể thấy mình cần phải nhớ thứ tự của các tham số [mảng có đến trước hay giá trị không?].
Kiểm tra sẽ sạch hơn nếu phương thức
if [![[i==1] || [i==2] || [i ==3] ]] { alert['yes'];}
5 được thêm trực tiếp vào if [![i==1&2&3]] { alert['yes']}
9:if[!a && !b] {
// is not a and is not b
}
6Điều này cho phép kiểm tra được:
if[!a && !b] {
// is not a and is not b
}
7Biểu cảm thường xuyên
Một phương tiện thường bị bỏ qua để thực hiện kiểm tra này là sử dụng các biểu thức thông thường thông qua
if [![[i==1] || [i==2] || [i ==3] ]] { alert['yes'];}
8 [tài liệu].if[!a && !b] {
// is not a and is not b
}
8Kiểm tra này rõ ràng đòi hỏi số lượng gõ ít nhất. Nó cũng là linh hoạt nhất vì bạn có thể dễ dàng thay đổi những thứ như độ nhạy của trường hợp, xử lý nhân vật đặc biệt, không gian trắng, v.v ... Điều này sẽ hoạt động trong tất cả các trình duyệt và bạn không phải lo lắng về việc gây rối với các nguyên mẫu gốc.
Mặc dù đây là lựa chọn mạnh mẽ nhất, nhưng nó có chi phí không thể đọc được. Tôi đã phải tra cứu
if [![[i==1] || [i==2] || [i ==3] ]] { alert['yes'];}
9 [khớp khi bắt đầu đầu vào] và switch [i] {
case 1:
case 2:
case 3:
break;
default:
alert[yes];
}
0 [khớp ở cuối đầu vào] khi viết bài đăng này.