2016-01-26 114 views
-1

我正在学习如何在codeacademy.com上编程,并且我已经在那里寻求帮助,但我没有得到正确答案。 这次演习是要建立一个“石头,剪子,布”的游戏(6如果选择1是什么石头?)这是我的代码:这段代码有什么问题? (JavaScript)

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

它总是说“语法错误:输入意外结束”。 我得到的答案是:“as @name提到你需要关闭函数,或者在这种情况下,如果在函数之前,则是else。”

但它仍然不起作用。

+1

尝试用块写你的代码块,然后检查**每次小改动**之后它是否仍然有效。这样你就可以知道有什么确切的变化破坏了它。立刻写一段破碎的代码,然后猜测为什么它不对,不会很快导致你成功。 – zerkms

+3

你最后缺少一个'}';看看缩进,并注意你没有回到最后一行的最左边。 – RobIII

+0

除了其他人说的话,如果你在你的代码中计算开头的'{'括号,你会发现有5个,但只有4个关闭的括号。所以你需要找出丢失的'}'应该去的地方。 – nnnnnn

回答

3

你缺少你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"; 
     } 
    } 
}; 
0

由于mikeyq6 aswered,你缺少一个右括号。您可以使用http://jshint.com/来检查您的语法。我建议在每次出现语法错误时使用jshint。