2015-04-01 75 views
1

試圖寫一個岩石紙剪刀遊戲,使用codecademy學習。我已經看到很多人在談論這個錯誤,它與if語句後面使用分號有關,但我不知道我是否完全錯過了某些東西,或者它是不同的東西。下面的代碼,這是一個有點怪異理解(並至少對我來說),但希望你會明白我沒有意外的記號其他,不是分號後如果語句

var compare = function(choice1, choice2) { 
    if(choice1 === choice2) { 
     return "The result is a tie!"; 
    } 
    else if(choice1 === "rock") { 
     if(choice2 === "scissors") { 
      return "rock wins"; 
     } 
     else { 
      return "paper wins"; 
     } 
    else if(choice1 === "paper") { 
     if (choice2 === "rock") { 
      return "paper wins"; 
     } 
     else { 
      return "scissors wins"; 
     } 
    } 
}; 
} 
+1

檢查您的括號。 – user2357112 2015-04-01 01:15:28

+0

這在這種情況下並不是非常有用,因爲我對Javascript非常陌生,大括號讓我感到困惑,因爲我現在還不熟悉Javascript – Axoda 2015-04-01 01:19:53

+0

尚未完成,我需要爲此添加另一個聲明,這看起來似乎有點混亂我在分鐘 – Axoda 2015-04-01 01:20:36

回答

0

試着在你的代碼的最後取出}(21號線)和請將它放在第12行。

固定碼:

var compare = function(choice1, choice2) { 
    if(choice1 === choice2) { 
     return "The result is a tie!"; 
    } 
    else if(choice1 === "rock") { 
     if(choice2 === "scissors") { 
      return "rock wins"; 
     } 
     else { 
      return "paper wins"; 
     } 
    } 
    else if(choice1 === "paper") { 
     if (choice2 === "rock") { 
      return "paper wins"; 
     } 
     else { 
      return "scissors wins"; 
     } 
    } 
}; 
+0

哦,那工作,謝謝!大括號真的開始混淆我整個if-ception類型的東西,所以非常感謝! – Axoda 2015-04-01 01:22:51

+0

它說我需要等待一個這樣做,但應該做的 - 快速脫離標記回答並糾正:) – Axoda 2015-04-01 01:25:08

0

你缺少一個右括號}你的第二個else if語句之前,你必須靠近你的代碼的最後一個多餘的。

固定碼:

var compare = function(choice1, choice2) { 
    if(choice1 === choice2) { 
     return "The result is a tie!"; 
    } 
    else if(choice1 === "rock") { 
     if(choice2 === "scissors") { 
      return "rock wins"; 
     } 
     else { 
      return "paper wins"; 
     } 
    } 
    else if(choice1 === "paper") { 
     if (choice2 === "rock") { 
      return "paper wins"; 
     } 
     else { 
      return "scissors wins"; 
     } 
    }  
} 
+0

是的,這就是我被告知。謝謝你的糾正!它正在工作 – Axoda 2015-04-01 01:23:51