在Codecademy Rock,Paper,Scissors中嵌入if / else语句

时间:2013-11-11 10:30:17

标签: javascript

我对6月9日CodeAcademy的Rock Paper Scissors练习感到困惑。我现在所知道的是有三种选择,岩石,纸张,剪刀。我必须记录游戏的所有结果。在6/9我被要求嵌套if / else语句,这是我的提交:

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

出于某种原因,它告诉我,我的语法存在问题,并且“返回功能不正常”。我也不太了解if语句的嵌套。当然应该是if,elseif然后呢?

如果你这么善良,我会欣赏这项运动的任何清晰度。我真的无法理解这个非常简单的练习,而且它让我很紧张。我可以从CodeAcademy Q和A输入一些答案,但后来我不明白。

2 个答案:

答案 0 :(得分:1)

很好,你正在努力学习(坚持下去!),确保你正确地缩进你的代码:

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

    if(choice1 === "rock") {
        if(choice2 === "scissors") {
            return "Rock wins";
        }
        else {
            return "Paper wins";
        }
    }
    // you get the idea
};

答案 1 :(得分:0)

好一段时间这让我感到困惑,因为我误解了{}的工作方式,经过一些调整后,这让我觉得更顺畅,更容易理解

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";}
else if (choice1 === "scissors")
    if (choice2 === "rock")
    {return "rock wins";}
    else
    {return "scissors wins";}
 };

通过将{}移动到一行,我能够看到它是如何工作的,不推荐它,但它确实帮助我可视化括号以及它在代码中的相关性。祝你好运,很高兴看到我不是唯一一个在那里挣扎的人!