最近在学JavaScript的Math.random()。
对这个公式Math.floor(Math.random()*(max-min + 1))+ min)挺感兴趣的,就在网上找了一些说明,比较喜欢这个地址里杰森·安内洛对这个的解析,我把它放在这里,感兴趣的可以看看,最后还是粘贴复制了一遍
我们知道Math.random()返回范围为[0,1)的值。包括0,但排除1。您可以将其视为0到0.999999的范围…
现在,将结果传递给Math.floor()函数。
数学。地板(数学。随机());
因为floor将截断小数点并返回整数部分,所以我们总是在这里得到0。确保您了解这一点,否则其余的将毫无意义。询问是否需要。
我们只能从中得到1个整数。整数为0并不是很重要,但是我们只能得到1个整数。
如果我们能够从中得到更多的数字,那么我们需要扩大该范围。当您将某物乘以2时,它会变成以前的两倍。它放大了2倍。让我们看看将Math.random()乘以2会发生什么。
数学。地板(数学。随机() * 2 );
这将为我们提供0到1.999999的新范围,这是我们开始使用的范围的两倍。
将这些数字传递到Math.floor中会发生什么?从0到0.9999 …生成的所有数字将被截断为0,从1到1.9999 …的所