前言
js中有俩个全局对象,一个是Global,一个是Math。
Math中提供了一下数学中常用的函数。比如:
Math.random()
MDN 上面解释到:
Math.random()函数返回一个浮点伪随机数,范围从0到1但不包括1 - 然后您可以缩放到您想要的范围。该实现选择初始种子给随机数生成算法;
这里我想强调的是Math.random()返回的是浮点数,取不到1。例子
Math.random()100;//[0,100]之间的数,但是取不到一百。
parseInt(Math.random()101);//[0,100]之间整数lodash中的rendom()
_.random([lower=0], [upper=1], [floating])
12345678910111213141516171819 Arguments[lower=0] (number): The lower bound.[upper=1] (number): The upper bound.[floating] (boolean): Specify returning a floating-point number.Example:_.random(0, 5);// => an integer between 0 and 5_.random(5);// => also an integer between 0 and 5_.random(5, true);// => a floating-point number between 0 and 5_.random(1.2, 5.2);// => a floating-point number between 1.2 and 5.2
源码解析
|
|
return lower + Math.floor(Math.random() * (upper - lower + 1))//默认返回整数的随机数
这里是比较重点的。巧妙用了取整的Math.floor()的方法。
结束
lodash是个好用的函数库。