你能告诉我为什么用它吗?
var randomNumber = Math.floor(Math.random() * (topNumber - bottomNumber + 1)) + bottomNumber;请分享你最好的教学,因为我是新手
var input1 = prompt("Please type a starting number");
var bottomNumber = parseInt(input1);
var input = prompt("Please type a number");
var topNumber = parseInt(input);
var randomNumber = Math.floor(Math.random() * (topNumber - bottomNumber + 1)) + bottomNumber;
var message = "<p>" + randomNumber + " is a number between " + bottomNumber + " and " + topNumber + ".</p>";
document.write(message);发布于 2021-02-06 16:28:59
让我们把它从里面拿出来:
Math.random()给出了0到1之间的浮点数(包括0,但不包括1).例如,0.26254851654.(topNumber - bottomNumber + 1)给出了bottomNumber和topNumber之间不同整数的数目,包括这两个整数本身。为什么是+ 1?要找出介于5到10之间的整数数,例如: 5,6,7,8,9,10。其中有10 -5+1=6,而不是5。让我们把这两者称为numNumbers.numNumbers之间得到一个浮点数(仍然包括0,但不包括numNumbers本身)。Math.floor()把它整整。我们现在在范围0, 1, ..., numNumbers - 1中有一个整数(请记住,浮点数可能接近numNumbers,但永远不会相等,因此numNumbers不是这个范围的一部分)。bottomNumber添加到范围bottomNumber, bottomNumber + 1, ..., bottomNumber + numNumbers - 1中的整数结束。但是bottomNumber + numNumbers - 1是什么呢?正是topNumber!因此,我们现在在范围bottomNumber, ..., topNumber中有一个整数,这正是我们所需要的.发布于 2021-02-06 16:23:45
似乎randomNumber在数字(一个范围)之间构建了一个随机数。topNumber是最大的,bottomNumber是范围内的最小。为清楚起见:
const max = 10;
const min = 0;
const example = Math.floor(Math.random() * (max - min + 1)) + min;发布于 2021-02-06 16:31:47
对于初学者(对不起,如果您不是初学者),这太复杂了,Math.random()方法返回0到1之间的随机数,但是如果要在0和特定数字之间使用随机数,则必须使用Math.floor(Math.random() * x + 1),"x“是特定的数字。
https://stackoverflow.com/questions/66079088
复制相似问题