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 随机函数的主要内容,如果未能解决你的问题,请参考以下文章

js生成随机数之random函数随机示例

怎么样用JS的随机数生成函数生成1~6之间的某一个整数?

Js怎么产生随机数?

js产生随机数函数

怎么求1~10之间的随机数 js

如何随机获得3-23之间的整数(请用JS代码实现)