js生成随机数的方法

来自:互联网
时间:2019-10-08
阅读:

这几天一直在研究前台DIV元素的随机定位的问题,而这里面涉及到了JS生成随机数的方法,就下功能研究了一翻,并整理了一些资料以防以后再用得到。IeN免费资源网

JS中Math对象

在JS中可以使用 Math 对像来实现随机数的生成,但是这个对像有几个方法,先了解一下IeN免费资源网

1、js中的 ceil() 方法IeN免费资源网

ceil():方法对数字进行四舍五入,向上取整IeN免费资源网

语法:IeN免费资源网

Math.ceil(x)

例:IeN免费资源网

<script>
    console.log(Math.ceil(0.60));
    console.log(Math.ceil(1.2));
    console.log(Math.ceil(0.1));
    console.log(Math.ceil(1.5));
    console.log(Math.ceil(-2.3));
    console.log(Math.ceil(-10));
</script>

打印结果:IeN免费资源网

1  2  1  2  -2  -10IeN免费资源网

2、js中的 floor() 方法IeN免费资源网

floor() 方法返回小于等于x的最大整数。即向下取整IeN免费资源网

语法:IeN免费资源网

Math.floor(x)

例:IeN免费资源网

<script>
    console.log(Math.floor(0.60));
    console.log(Math.floor(1.2));
    console.log(Math.floor(0.1));
    console.log(Math.floor(1.5));
    console.log(Math.floor(-2.3));
    console.log(Math.floor(-10));
</script>

打印结果:0 1 0 1 -3 -10IeN免费资源网

3、js中的 round() 方法IeN免费资源网

round():方法可以把一个数字四舍五入为最接近的整数IeN免费资源网

语法:IeN免费资源网

Math.round(x)

例:IeN免费资源网

<script>
    console.log(Math.round(0.60));
    console.log(Math.round(1.2));
    console.log(Math.round(0.1));
    console.log(Math.round(1.5));
    console.log(Math.round(-2.3));
    console.log(Math.round(-3.6));
</script>

打印结果:1  1  0  2  -2  -4IeN免费资源网

4、js中 random() 方法IeN免费资源网

random() 返回0 到1之间的随机数,包含0但不包含1IeN免费资源网

语法:IeN免费资源网

Math.random()

例:IeN免费资源网

<script>
    for (let index = 0; index < 4; index++) {
        console.log(Math.random());
    }
</script>

打印结果:IeN免费资源网

0.7818701084700324IeN免费资源网

0.04709459241600533IeN免费资源网

0.5963868333681945IeN免费资源网

0.6561094761494426IeN免费资源网

js生成随机数的几个方法

了解完了 Math 对像的几个方法,我们可以利用它们,来生成不同的随机数IeN免费资源网

1、JS生成1到10之间的随机整数IeN免费资源网

js代码:IeN免费资源网

//方法1
Math.ceil(Math.random() * 10) 
//方法2
Math.round(Math.random()*10)

此JS代码可以随机取1到10之间的随机整数,取0的概率很少IeN免费资源网

例:js随机生成四个1到10之间的整数IeN免费资源网

<script>
    for (let index = 0; index < 4; index++) {
        console.log(Math.ceil(Math.random() * 10));
    }
</script>

打印结果: 10  5  3  8IeN免费资源网

2、JS生成0到9的随机整数IeN免费资源网

代码:IeN免费资源网

Math.floor(Math.random()*10);

例:JS随机生成4个0到9的随机整数IeN免费资源网

<script>
    for (let index = 0; index < 4; index++) {
        console.log(Math.floor(Math.random() * 10));
    }
</script>

打印结果:9  3  0  2IeN免费资源网

JS生成 [n,m] 的随机整数

方法1:IeN免费资源网

JS函数IeN免费资源网

<script>
    function getRandom(min, max) {
        min = Math.ceil(min);
        max = Math.floor(max);
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
</script>

函数调用:IeN免费资源网

生成五个10到100之间的整数IeN免费资源网

<script>
    //调用方法
    // getRandom(10, 100)
    for (let index = 0; index < 5; index++) {
        console.log(getRandom(10, 100));
    }
</script>

打印结果: 48  56 98  23  15IeN免费资源网

方法2:IeN免费资源网

JS函数IeN免费资源网

<script>
    function randomNum(minNum, maxNum) {
        switch (arguments.length) {
            case 1:
                return parseInt(Math.random() * minNum + 1, 10);
                break;
            case 2:
                return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
                break;
            default:
                return 0;
                break;
        }
    } 
</script>

调用方法:IeN免费资源网

randomNum(10, 100)

打印结果:77IeN免费资源网

返回顶部
顶部