这是我的第一个问题,如果我的问题没有清楚显示,请道歉。我收到了错误信息' else' if / 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" }
}
答案 0 :(得分:1)
您的代码乱七八糟,其语法和结构错误。例如,这个:
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
块成对出现。
逐步完成你试图表达和构建它的逻辑。此代码使非常不清楚您甚至尝试做什么。