Javascript 语法错误,返回语句非法

Javascript 语法错误,返回语句非法,javascript,Javascript,嗨,我现在有这个密码 var compare = function (choice1, choice2) { if (choice1 === choice2) { return "The result is a tie!"; } }; if (choice1 === "Rock") { if (choice2 === "Scissors") { return "Rock wins!"; } else (ch

嗨,我现在有这个密码

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

if (choice1 === "Rock")
{
    if (choice2 === "Scissors")
    {
        return "Rock wins!";
    }
    else (choice2 = "Paper")
    {
        return "Paper wins!";
    }
}
但我一直得到一个Synatax错误,非法的return语句

我不明白为什么我会犯这个错误,我做错什么了吗?我相信语法是正确的


顺便说一下,我使用的是在线编辑器,而不是实际的IDE

我想你应该写以下内容

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

    if (choice1 === "Rock")
    {
        if (choice2 === "Scissors")
        {
            return "Rock wins!";
        }
        else if (choice2 === "Paper")
        {
            return "Paper wins!";
        }
    }
};
return语句仅在函数内部有效

看看代码

var compare = function (choice1, choice2)
{
    if (choice1 === choice2)
    {
        return "The result is a tie!";
    }
};
这部分代码可以正常工作。但是在这个分号
(;)
之后,代码的一个单独的部分开始了,它最终不是函数的一部分,因为函数以分号结束,这就是为什么代码的下半部分给出了这个错误

第二件事,你的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 if (choice2 === "Paper") {
            return "Paper wins!";
        }
    }
};

另外,我在使用
调试器时犯了这个错误或换行,不要返回浏览器控制台。这将返回相同的语法错误,因为您的返回未包装在函数中

在控制台中不要:
返回choice1===choice2
//错误

相反,只要做:

choice1===choice2
//true或false

choice2=“纸张”
看起来像一个打字错误如果(choice2==“纸张”)
-然后将if包装在
比较
函数:)中,欺骗你的同学::t汉克斯LightStyle,成功了!用这种方式写的else语句毫无意义。