2014-01-17 45 views
0

嘿,我在codeacademy,我想弄清楚我的函數的結構有什麼問題。我認爲這很好,但它不起作用。誰能告訴我爲什麼?岩石紙剪刀的Javascript語法問題邏輯

var compare = function (choice1,choice2){ 
if("choice1 = choice2"){ 
    return ("The result is a tie!"); 
} 
}; 
compare(1,1); 

if ("choice1 = rock"){ 
    if ("choice2 = scissors"){ 
     return ("rock wins"); 
    } else { 
     return ("paper wins"); 
    } 
} 
+1

請檢查的一些應用手冊,谷歌的互聯網。我會從這裏開始http://jqfundamentals.com/chapter/javascript-basics – elclanrs

+0

你混淆了字符串變量 –

+0

我猜你是初學者?檢查操作員。 ==或===等於。繼續編碼! –

回答

0

您的if聲明不應被引用。通過將它們放在引號中,您正在評估非空字符串的真實性,它將始終由Javascript標準制定爲true

此外,您的if語句中的比較使用單個=符號。邏輯比較應使用兩個=符號(在類型轉換後檢查相等性)或三個=符號(如果類型不同,則失敗)。

+0

我更新了代碼,它告訴我choice1沒有被定義? – riotgear

+0

*「您正在評估某些文本的值是否爲真,這將通過JavaScript標準來判斷爲真」*呃?任何非空字符串評估爲真! –

+0

糟糕,你是對的。更新了我的答案。 –

0

好的,我會咬你的...

你的條件語句用引號引起來。

編輯:還需要使用==(或===)進行比較

+0

謝謝你的叮咬。當我緊張不安的時候,我總是加上引號。 – riotgear

0

等於被==不是=

var compare = function (choice1,choice2){ 
    if(choice1 == choice2){ 
    return ("The result is a tie!"); 
    } 
}; 
compare(1,1); 

if (choice1 == "rock"){ 
    if (choice2 == "scissors"){ 
    return ("rock wins"); 
    } else { 
     return ("paper wins"); 
    } 
} 

而且你的報價放錯了地方