带有函数和随机函数的JavaScript if / else语句

时间:2014-02-02 01:50:17

标签: javascript function if-statement

我正在尝试为Codecademy的课程调试这个,但找不到我做错了什么。如果有人可以提供帮助,那将是非常有帮助的。感谢您抽出宝贵时间阅读此消息。这是代码:

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")
}

1 个答案:

答案 0 :(得分:5)

if (computerChoice === 0 to 0.33) {

这是无效的。试试这个:

if (computerChoice >=0 && computerChoice <=0.33) {

请注意,0.330.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()来确保一个漂亮的整数而不是一个浮点数(非整数),这是数组偏移所期望的。

最后,请参阅@eddflrs关于userChoice()功能的说明。如果你想获得用户输入,为什么你会不断地递归调用你的函数?试试这个:

function getUserChoice () {
    return window.prompt('Do you choose rock, paper, or scissors?');
}
console.log(getUserChoice());