语法错误- if/else语句

Javascript Syntax Error - if/else statement

本文关键字:else 语句 if 错误 语法      更新时间:2023-09-26

这是我的第一个问题,如果我的问题没有清楚地显示出来,我很抱歉。我用if/else语句的"else"部分得到错误信息。大约在代码的一半,我在得到错误的行右侧进行了注释。不知道语法有什么问题

var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
    computerChoice = "rock";
} else if(computerChoice <= 0.67) {
    computerChoice = "paper";
} else {
    computerChoice = "scissors";
} console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2) {
 if(choice1 === choice2) 
 return "The result is a tie!";
};
else if(choice1==="rock")  //GETTING ERROR MESSAGE
     if(choice2==="scissors");
         {return "rock wins";
     }
     else {
         return"paper wins";  //GETTING ERROR MESSAGE
     }
}
else if(choice1==="paper") {   //GETTING ERROR MESSAGE
     if(choice2==="rock"); 
     {
    return "paper wins";
     }
     else {
     return "scissors wins";
     }
}
 else if(choice1==="scissors") {
      if(choice2==="paper")
      return "scissors wins";
 }
      else {
     return "rock wins" }
     }

你的代码充斥着语法和结构错误。例如:

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

在变量中声明一个函数,然后在声明之后加上一个else块。else块需要紧跟着if块。您不能仅仅用else开始语句。这在语法和逻辑上都没有意义。它应该是该函数内if块的一部分吗?那你为什么要关闭这个功能?这会破坏它之后的所有内容。

或:

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

为什么if条件后面有分号?

我敢打赌这些花括号在整个代码中也没有正确排列。您肯定希望缩进您的代码,使其更易于人类阅读,这样您就可以遵循您正在创建的结构。分号终止语句,不要把它们放在任何地方。if/else是成对的

通过你想要表达的逻辑来构建它。这段代码使得非常不清楚你到底想做什么。