所以我正在尝试构建用户被提示输入“摇滚”,“纸张”或“剪刀”的代码,然后将其与随机计算机选择进行比较。计算机的选择被认为是0到1之间的随机值。我们的比较函数通过这两个选项并比较它们的值以返回输出,告诉哪个手势信号获胜。我收到语法错误,但似乎无法弄清楚我错过了什么。
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";
}
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";
}
} else(choice1 === "scissors") {
if (choice2 === "paper") {
return "scissors wins";
} else {
return "rock wins";
}
}
}
console.log(compare(userChoice, computerChoice));
答案 0 :(得分:6)
您的else
声明有条件。删除它或添加if
。
} else if (choice1 === "scissors") {
if (choice2 === "paper") {
return "scissors wins";
} else {
return "rock wins";
}
}
答案 1 :(得分:2)
else (choice1 === "scissors") {
就是问题所在。执行else if (...) {
或else {
顺便说一下,语法错误会告诉您确切的错误。在Chrome开发者工具中,我只需要在控制台中单击错误即可查看该行。
答案 2 :(得分:0)
else (choice1 === "scissors") {
是非法的陈述。
else if
期望有条件的。
else
不应该有一个。