【发布时间】:2019-04-15 23:51:44
【问题描述】:
作为业务分析师开始创业,但我需要学习 Javascript 以完成工作中的其他一些任务:/ 我刚开始使用代码学院,所以我对 Javascript 的了解仍然非常有限。
无论如何,我试图在函数中产生一个随机数,但它产生的数字似乎总是相同的数字/结果。
var randNum = Math.floor(Math.random()*3)
function getChoice ()
{
if (randNum) = 0) {console.log("Choice 1")}
else if (randNum = 1) {console.log("Choice 2")}
else (console.log("Choice 3")}
}
getComputerChoice()
console.log(randNum)
代码似乎总是选择选择 2。但是,当我 // 选择 2 时,它会选择选择 3。由于某种原因,它无法显示选择 1。我也尝试只使用 randNum 变量最后一个 console.log(randNum) 行来检查它是否真的随机化。可以,但仅当它不与函数一起使用时
var randNum = Math.floor(Math.random()*3)
function getChoice ()
{
var choiceRandNum = Math.floor(Math.random()*3)
if (choiceRandNum) = 0) {console.log("Choice 1")}
else if (choiceRandNum = 1) {console.log("Choice 2")}
else (console.log("Choice 3")}
}
getChoice()
console.log(randNum)
对于上面的代码,我尝试为函数创建一个不同的变量(但本质上是相同的 sa randNum)。现在最后一行可以显示不同的数字(0,1,2),但该函数仍然不会随机化。可以进行任何编辑吗?请不要使用过于复杂的解决方案,因为我仍然不太了解 java。
【问题讨论】:
-
这看起来像 javascript 而不是 java。
-
啊,对不起,javascript 是代码学院上说的
-
另外,你在函数之外随机化,所以它只发生一次。就像that joke。你做了同样的事情——你只是没有掷骰子而是要求计算机这样做——但你仍然总是给出相同的预定“随机数”。将第一行放入函数中,以查看每次需要随机数时实际掷骰子的区别。
-
嗨,阿马丹,我不确定我是否理解。所以我必须在函数的第一行包含 var randNum = Math.floor(Math.random()*3) ?我也这样做了,但它似乎仍然产生相同的预定选择 2。
标签: javascript performance function math random