js 随机函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 随机函数相关的知识,希望对你有一定的参考价值。
参考技术A 在写js中,我们经常遇见 js 随机函数,总结一下最近写验证码的时候 用到过的js 随机函数Math.random(); 结果为0-1间的随机数(包括0,不包括1)
Math.floor( n ); 参数为Number 类型 ,函数结果 为num 的整数部分
Math.round( n ) ; 参数为Number 类型。函数结果 为num 四舍五入部分
Math.ceil( n ); 参数为Number类型。 函数结果为大于等于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的随机整数
例子:
1. 实现一个 随机 汉字
randomChi() // 随机生成汉字
return `\\u$Math.round(Math.random() * 20901 + 19968 ).toString(16)`;
2. 实现一个n - m 的整数 ( 参照于 http://www.jb51.net/article/56019.htm )
生成 n-m , 包含n 但不包含 m的整数
第一步算出 m -n的值,假设等于 w
第二步 Math.random( ) * w
第三步 Math.random() * w +n
第四步 parseInt( Math.random() * w +n, 10)
生成一个 n-m ,包含 m 但不包含 n的整数
第一步算出 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)
实例: 生成800-1500的随机整数,包含800但不包含1500
1500-800 = 700
Math.random()*700
var num = Math.random()*700 + 800;
num = parseInt(num, 10);
更多实例 请查看 https://github.com/Mrangmaomao
怎么求1~10之间的随机数 js
如题啊,,
在javascript中输入函数Math.floor(Math.random()*10+1)。
在原来的函数上再加1就变成了Math.random()*10+1。此时就可以返回1到10的随机数了,但是我们返回的很多是小数,不符合要求。
下面就用到了Math.floor()这个函数了,这个函数执行向下舍入,也就是说10.99经过Math.floor都是10,Math.ceil(是向上舍入)即使是10.00001,返回也是11,现在我们就求出来结果了。
随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。
产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。
参考技术A 直接用Math.random()方法就好了,这样获得了一个0-1之间的数,乘以10后得到的数是0-10,然后向上取整就可以了,像这样Math.ceil(Math.random()*10),这得到的是1-10之间的随机整数。 参考技术B <html><body>
<script type="text/javascript">
var num=Math.random()*9+1;//取1-10的随机数(小数)
var num1=Math.round(num);//四舍五入取整
document.write(num1)
</script>
</body>
</html>
望采纳
参考技术C 产生0-10的随机数主要有两种方法用Math.random函数来实现
parseInt(10*Math.random())
写一个方法,通过传值来实现,这样方便扩展
/*** 产生一个数组,数组的值是min到max之间的数,随机排列function RandomArr(Min, Max) var array = new Array();var cha=Max-Min;for (var i = 0; ; i++) if (array.length < cha) //产生随机数 0到count不包含count的随机数var randomNub = Min+(Math.floor(Math.random() * cha));//Jquery判断数组array中是否包含元素randomNubif (-1 == $.inArray(randomNub, array)) array.push(randomNub);elsebreak;return array;//这里是0-10之间的数,不包含10var array=RandomArr(0,10); 参考技术D Math.random() 生成0和1之间的随机小数
Math.random() * 10 生成0和10之间的随机小数
Math.random() * 9+ 1生成1和10之间的随机小数
Math.floor(Math.random()*10+1) //n范围内的随机整数
以上是关于js 随机函数的主要内容,如果未能解决你的问题,请参考以下文章