2013-05-17 76 views
-5

是否有可能做一個或一個if語句我所得到的是:如果(性別)=男孩或女孩

var gender = prompt("are you a boy or a girl?"); 

if(gender==="boy"/"girl") 
{ 
    console.log("sex: "+gender); 
} 
else 
{ 
    throw "you must select boy or girl"; 

我把/那裏想它可能使男孩或女孩,我已經嘗試了一切。

+0

'if(gender ===「boy」|| ||性別===「女孩」)' –

+0

應該是這樣的:if(gender ==='boy'|| gender ==='girl') –

+0

有一個支架缺少 – Alexxus

回答

4
if(gender=="boy" || gender=="girl") 
{ 
    console.log("sex: "+gender); 
} 
+0

謝謝,這有助於 –

1

可以使用||

if(gender === 'boy' || gender === 'girl'){ 
    ... 
} else { 
    ... 
} 

你也可以做一個switch

switch(gender){ 
    case 'boy': 
    case 'girl': 
    ... 
    break; 
    default: 
    ... 
} 
3

使用正則表達式,你爲什麼不? :-)

if (/^(boy|girl)$/i.test(gender)) 
... 
+2

因爲RegEx是矯枉過正。 –

+1

我喜歡它。 – SoonDead

+0

大多數人不喜歡浪費CPU –

3

你還需要考慮的是區分大小寫。如果您需要忽略大小寫,你可以這樣做:

if(gender.toLowerCase() === "boy" || gender.toLowerCase() === "girl") 
    console.log("sex: " + gender); 
0

使用邏輯或(||)運算符在JavaScript中。至於你是新來的JavaScript,學習這些logical operator ..基本OR(||)基本AND(& &)...是第一步。

if (gender == 'boy' || gender == 'girl'){ 
    console.log("sex: " + gender); 
}; 

我做了一些其他的選擇,爲你學習的目的...有些是骯髒的。我希望下面的代碼,讓你對JavaScript感興趣。現在我建議你不要深入研究它,一旦你對JavaScript的基礎知識非常瞭解。檢查以下方面,它們是如何工作的

使用陣列indexOf,它實現在JavaScript 1.6

if (["boy", "girl"].indexOf(gender) !== -1){ 
    console.log("sex: " + gender); 
}; 

使用正則表達式的RegExp

if (/boy|girl/i.test(gender)){ 
    console.log("sex: " + gender); 
}; 

鏈接使用Object映射,!!轉換成布爾

if (!!{ boy:true, girl:true}[gender] ){ 
    console.log("sex: " + gender); 
}; 

可能有其他的方法.. :)