【发布时间】:2013-05-28 23:32:32
【问题描述】:
我已经附上了我今天犯的 codeacademy 错误的屏幕截图。我正在尝试创建一个比较函数,该函数随机选择一个介于 0 和 1 之间的数字(纸、剪刀或石头),该数字输入两个选项并根据选项 1 与选项 2 的比较返回获胜者。
第一部分是注释,但它解释了原始的剪刀石头功能是如何构建的
代码如下:
/*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!");
if (choice1 < 0.34)
if(choice2 ==="scissors");
return("rock wins");
} else if(choice2 ==="paper");{
return("paper wins");
};
};
它告诉我在第 15 行(else if 行)上有一个意外的标记。
当我删除 else 部分时,它给了我另一个语法错误,说明关于令牌 if 的相同内容。我被困在我的语法的哪一部分是关闭的以及如何修复它上。
【问题讨论】:
-
与注释代码比较,找出额外使用的
semicolons。 -
顺便说一句:如果choice1 是一个随机选择的数字,而choice2 是“剪刀”、“石头”或“纸”,那么您的if 语句
if (choice1 === choice2)永远不会是true。您应该选择一种格式(0 到 1 之间的数字或三个字符串之一)并以相同的格式将choice1 和choice2 都传递给您的比较函数。 -
这是一个很好的观点。我以后会小心的。谢谢
标签: javascript function compare syntax-error