2015-12-28 109 views
-1

你好,我學習JavaScript目前Codecademy網站,我到紙剪刀石頭遊戲,雖然我得到一個錯誤語法錯誤「語法錯誤:意外的關鍵字‘其他’」爲JS

SyntaxError: Unexpected keyword 'else' 

這裏是我的代碼,thnx! :)

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

你不能有別的,如果其他 – Ramanlfc

+0

'else'塊應該永遠是「if if if」梯形圖的最後一個塊 – abhishekkannojia

回答

1

沒有的,如果在別的第2 ..要麼把一個條件基於你的邏輯或爲了運行this..here條件是你可以做

什麼不是檢查使用嵌套if,你可以不喜歡它

if(condition1 && condition2){ // logic 

這裏是你怎麼不會得到錯誤。

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"); 
     } 

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

爲什麼在返回之後還有其他的問題? – mplungjan

+0

@mplungjan表示同意,我只是修正了語法錯誤......並沒有改變邏輯......雖然可以進行一些優化: ) –

+0

我們是不是錯過了一個比較,或者我只是不想夠了嗎? https://jsfiddle.net/mplungjan/24kv4azz/ – mplungjan

0

通常情況下,如果您真正閱讀了幾次錯誤消息,這些錯誤消息會非常有用。大多數系統還會告訴你發生錯誤的行,甚至跳到代碼中的那一點。在這種情況下,你有一個非常明確的消息,說「意外的關鍵字'else'」,並且我假設你知道這條線,從那裏,應該是非常直接的找出問題。

如果你不能,一個典型的方法是刪除的東西,直到錯誤消失 - 然後你知道你最後刪除的東西是什麼導致了錯誤。