2010-03-02 29 views
74

Tôi hiểu rằng trong JavaScript bạn có thể viết:Cách sử dụng điều kiện OR trong câu lệnh IF JavaScript?

if (A && B) { do something } 

Nhưng làm thế nào để thực hiện một HOẶC như:

if (A OR B) { do something } 
+2

Đây là cách không phải jQuery cụ thể. Nó chỉ là một thư viện Javascript. Câu hỏi của bạn là Javascript cụ thể. – BalusC

+2

@BalusC chúng hầu như đồng nghĩa với những ngày này: P – Dolbz

Trả lời

186

Chỉ cần sử dụng toán tử doublepipe là ||.

if (A || B) 
12
if (A || B) { do something } 
10

|| là toán tử hoặc toán tử.

if(A || B){ do something } 
62

Đáng chú ý là || cũng sẽ trả về true nếu BOTH A và B là true.

Trong javascript, nếu bạn đang tìm kiếm A hoặc B nhưng không phải cả hai, bạn sẽ cần phải làm một cái gì đó tương tự như:

if((A && !B) || (B && !A)) { ... }

+0

Không nên là cụm từ đầu tiên là "Đáng chú ý rằng || sẽ trả về true nếu EITHER var A OR var B là true" ?? Nó ngụ ý những gì bạn đã đề cập là (true | true) = true. đó là thông thường và được hiểu. –

+8

(A &&! B) || (B &&! A) ** có thể được thay thế bằng ** A^B mượt mà hơn nhiều – super

+1

@Murplyx: Trong hầu hết các trường hợp có, nhưng số ngoài phạm vi 32 bit có thể bị lỗi. '(Math.pow (2,32) -1)^0; // -1 (thành công) '...' Math.pow (2,32)^0; // 0 (thất bại) ' –

0

Chỉ cần sử dụng ||

if (A || B) { your action here } 

Lưu ý: với chuỗi và số. Nó phức tạp hơn.

Kiểm tra this cho understading sâu:

+3

Câu hỏi này đã được trả lời 4 năm trước. Câu trả lời của bạn có cải thiện được khi có câu trả lời nào không? –

+0

@JoeFrambach: Không. Tôi chỉ muốn trả lời rõ ràng hơn :) – haotang

+0

Toán tử '||:' là gì? –

5

đây là ví dụ của tôi:

if(userAnswer==="Yes"||"yes"||"YeS"){ 
console.log("Too Bad!"); 
} 

này nói rằng nếu câu trả lời là Có có hoặc có hơn điều tương tự sẽ xảy ra

+0

Câu trả lời của bạn có cải thiện được khi có câu trả lời hiện có không? Đó là một trường hợp sử dụng cụ thể? – emecas

+0

Có hoạt động không? Tôi mã như thế nhưng đó là lỗi cú pháp. Tôi mã như thế này. 'if (name === 'Jam' || name === 'Jem' || name == 'Jum')' – Penguin

+5

Có, tôi phát hiện ra một cách khó khăn mà bạn phải bao gồm từng câu lệnh riêng biệt. Tôi đã phát hiện ra rằng 'if (number === 1 || 2 || 3)' giống như 'while (true)'; điều kiện thứ hai và thứ ba yêu cầu nếu 2 là 2 và/hoặc 3 là 3. Chúng luôn luôn giải quyết đúng như câu lệnh luôn luôn trôi qua. Có kế hoạch của tôi để giảm số lượng nhân vật. Việc giữ các câu lệnh trong ngoặc đơn sẽ giúp bạn dễ đọc hơn. –

0
if(req.widgetType == 'text' || req.widgetType == 'textWithGauge' || req.widgetType == 'speedoMeter'){ console.log(req.widgetType) 
        } 

văn bản

Các vấn đề liên quan