JS:产生随机数
参考:http://www.cnblogs.com/banbu/archive/2012/07/25/2607880.html http://www.jb51.net/article/56019.htm http://www.cnblogs.com/xuan52rock/p/4460926.html https://zhuanlan.zhihu.com/p/25595871 Math.random(); 结果在[0,1)间的一个随机数 Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。 Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。 Math.ceil(n); 返回大于等于n的最小整数。 用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。 用Math.round(Math.random());可均衡获取0到1的随机整数。 用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。 用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
如何使用js生成随机数
生成n到m间的随机数字 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步parseInt(Math.random()*w+n, 10)
生成n-m,不包含n但包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步Math.floor(Math.random()*w+n) + 1
生成n-m,不包含n和m的整数: 第一步算出 m-n-2的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n +1 第四步Math.round(Math.random()*w+n+1) 或者 Math.ceil(Math.random()*w+n+1)
生成n-m,包含n和m的随机数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步Math.round(Math.random()*w+n) 或者 Math.ceil(Math.random()*w+n)
学到了很多,写代码要保证其健壮性、可靠性