Javascript Codecademy语法错误意外标记else
所以我在做我的课程的JS编码,我在做石头剪纸的事情,我也看过其他的主题,但据我所知,我没有放错分号。你能告诉我怎么了吗Javascript Codecademy语法错误意外标记else,javascript,debugging,Javascript,Debugging,所以我在做我的课程的JS编码,我在做石头剪纸的事情,我也看过其他的主题,但据我所知,我没有放错分号。你能告诉我怎么了吗 var compare = function(choice1, choice2){ if(choice1 === choice2){ return "The result is a tie!"; }else if(choice1 === "rock"){ if(choice2 === "scissors"){ return "rock wins
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";
}
}
}
}
看起来你把支架弄乱了:
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";
} // this was missing
}else if(choice1 === "paper"){
if(choice2 === "rock"){
return "paper wins";
}else{
return "scissors wins";
}
}
}
如果出现以下情况,则在else后面加上else:
else{
return "paper wins";
}else if(choice1 === "paper"){
if(choice2 === "rock"){
return "paper wins";
}
另一方面,Codecademy有时不接受正确的答案,但不允许作为可接受的答案,因为有时需要严格/特定的语法。你应该看看他们的Q/a部分。显然是大括号出了问题。我把它回滚了,因为你的编辑,而缩进正确地破坏了可读性。缩进是逻辑上应该是这样的-只缺少一个}。@vahind是的,这段代码是不正确的,但有时Codecademy不接受正确的答案,但不允许作为可接受的答案,因为有时需要严格的/特定的语法。如果Andrew相信他的代码是正确的(他对此并不确定),那么Codecademy的Q/A部分将是除了s.O之外的一个很好的资源。当你试图理解代码背后的意图时,很明显A}缺失了。否则,产生的逻辑就没有意义了。