我想知道为什么这段代码会给出消息: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");
}
}
}
};
答案 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");
}
}