代码学院错误(困惑)^^

时间:2015-06-10 21:08:05

标签: javascript syntax-error

我想知道为什么这段代码会给出消息:SyntaxError:else token else。

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

};

2 个答案:

答案 0 :(得分:1)

else if之后你有一个else,所以它会被绊倒。

应该是

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

如果语句始终以if开头,则else if开始,最后是else。除第一个if之外的所有内容都是可选的,但顺序始终必须相同。

答案 1 :(得分:1)

因为else if应该之前 else,所以:

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