Javascript Math.random返回的数值与应用于变量的数值相同
Javascript Math.random返回的数值与应用于变量的数值相同,javascript,Javascript,Math.random在控制台中似乎工作正常。即使我对它应用Math.floor,也没有问题。但是,只要我将var分配给代码。我只是得到了相同的号码返回。 我所写的例子: 数学随机(); 您所做的是存储Math.floor(Math.random()*10)的值在x中。它没有调用Math.floor(Math.random()*10)每次使用x时。它是相同的值。要实现这一点,您需要有一个函数,以便可以调用Math.floor(Math.random()*10)每次 函数{ 返回Math.flo
Math.random
在控制台中似乎工作正常。即使我对它应用Math.floor
,也没有问题。但是,只要我将var
分配给代码。我只是得到了相同的号码返回。
我所写的例子:
数学随机();
您所做的是存储
Math.floor(Math.random()*10)的值代码>在x
中。它没有调用Math.floor(Math.random()*10)代码>每次使用x时。它是相同的值。要实现这一点,您需要有一个函数,以便可以调用Math.floor(Math.random()*10)代码>每次
函数{
返回Math.floor(Math.random()*10)
}
console.log(randomFloor()<4)
console.log(randomFloor()<4)
console.log(randomFloor()<4)
console.log(randomFloor()<4)
log(randomFloor()<4)
通过给变量赋值,JavaScript解释器必须计算右边的表达式
因此JavaScript计算表达式Math.floor(Math.random()*10)
的结果一次,并将其放入变量x
。变量现在保存这个值。当您在控制台中键入x
时,您总是在分配时获得此值。这就是变量的概念(重用值)
如果希望在x
中使用不同的值,则需要分配一个新值(例如,再次调用x=Math.floor(…)
)
如果需要可重复使用的逻辑封装,可以定义函数:
函数getMyRandomValue(){
返回Math.floor(Math.random()*10);
}
在控制台中,重复键入getMyRandomValue()
您可以将结果分配给一个变量,例如var y=getMyRandomValue()
,但是,变量y
获取分配的函数调用返回的值,然后保存该值
附言:我建议你买一本好的编程入门书。你应该把这些基本知识弄对:-)变量就是这样工作的。您基本上是在做var x=5
,其中5是数学语句的结果,例如,您设置了x一次,然后再也没有设置过。所有编程语言都是这样工作的。如果你想每次都得到一个新的值,你需要使用一个函数而不是一个变量;这样,实际上会多次调用Math.random()
。澄清一下,这就像告诉一个人选择一个数字,然后问他们多次选择了哪个数字。显然,他们每次都会告诉你相同的数字代码>此行执行一次。将其放入一个循环中,并在循环中对其进行控制。你可以找到区别。