我正在尝试在 Codecademy 上的类(class)中对此进行调试,但找不到我做错了什么。如果有人可以提供帮助,那将非常有帮助。感谢您花时间阅读此消息。代码如下:
var userChoice = function (string) {
userChoice(window.prompt("Do you choose rock, paper, or scissors?"));
}
var computerChoice = Math.random();
console.log(computerChoice)
if (computerChoice === 0 to 0.33) {
console.log("rock")
} else if (computerChoice === 0.34 to 0.66) {
console.log("paper")
} else if (computerChoice === 0.67 to 1) {
console.log("scissors")
}
最佳答案
if (computerChoice === 0 to 0.33) {
这是无效的。试试这个:
if (computerChoice >=0 && computerChoice <=0.33) {
请注意 0.33
和 0.34
之间有数字!您的第二个条件应该是 computerChoice >0.33
而不是使用 0.34
。
如果您确实想从项目列表中选择随机项目,请考虑使用数组。参见这篇文章:Get random item from JavaScript array
var items = ['rock', 'paper', 'scissors'];
console.log(items[Math.floor(Math.random()*items.length)]);
本例中的数组 items
包含所有可能的选择。我们得到一个随机数并乘以可能的项目数 (items.length
)。然后,我们使用 Math.floor() 来确保一个好的整数而不是 float (非整数),这是数组偏移量所期望的。
最后,请参阅 @eddflrs 关于您的 userChoice()
函数的注释。如果您想获取用户输入,为什么要不断递归地调用您的函数?试试这个:
function getUserChoice () {
return window.prompt('Do you choose rock, paper, or scissors?');
}
console.log(getUserChoice());
关于带有函数和随机数发生器的 JavaScript if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506105/