以前就知道这个方法,因为是没有完全理解。当很久以后再次遇到这类问题的时候,控制随机数范围的额公式又忘了,在这就在写一次。
先来看一下这个方法的作用:
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)