以前就知道这个方法,因为是没有完全理解。当很久以后再次遇到这类问题的时候,控制随机数范围的额公式又忘了,在这就在写一次。
先来看一下这个方法的作用:
Math.random(),是生成一个[0,1)的17位的随机小数。但我们一般需要的都不是小数,而是整数。
document.write(Math.random());//0.15246391076246546
例如,现在想得到一个0----10之间随机整数的(包含0和10):
Math.floor(Math.random()*(max-min+1));
你可能在想,max-min+1,中减min有必要考虑吗,雀氏,在这里雀氏可有可无,假如这里没有也能成立。如果转换至数学层面,只考虑最大随机值,而不考虑最小随机值,从数学的逻辑层面来讲,是不成立的,毕竟,这是一个数学公式。
按照刚刚的逻辑,稍加延伸,现在获取3--------10之间的随机整数(包含3和10):
Math.floor(Math.random()*(max-min+1)+min)
本文介绍了如何使用JavaScript的Math.random()方法生成指定范围内的随机整数。Math.random()生成的是[0,1)的随机小数,通过Math.floor()和适当公式可得到[min,max]区间内的整数。例如,要生成0到10的随机整数,公式为Math.floor(Math.random()*(max-min+1))+min。此方法可扩展到任何指定范围,如3到10的随机整数。
2900

被折叠的 条评论
为什么被折叠?



