js生成随机数的方法

来自:互联网
时间:2019-10-08
阅读:
免费资源网 - https://freexyz.cn/

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

JS中Math对象

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

1、js中的 ceil() 方法

ceil():方法对数字进行四舍五入,向上取整

语法:

Math.ceil(x)

例:

<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>

打印结果:

1  2  1  2  -2  -10

2、js中的 floor() 方法

floor() 方法返回小于等于x的最大整数。即向下取整

语法:

Math.floor(x)

例:

<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 -10

3、js中的 round() 方法

round():方法可以把一个数字四舍五入为最接近的整数

语法:

Math.round(x)

例:

<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  -4

4、js中 random() 方法

random() 返回0 到1之间的随机数,包含0但不包含1

语法:

Math.random()

例:

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

打印结果:

0.7818701084700324

0.04709459241600533

0.5963868333681945

0.6561094761494426

js生成随机数的几个方法

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

1、JS生成1到10之间的随机整数

js代码:

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

此JS代码可以随机取1到10之间的随机整数,取0的概率很少

例:js随机生成四个1到10之间的整数

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

打印结果: 10  5  3  8

2、JS生成0到9的随机整数

代码:

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

例:JS随机生成4个0到9的随机整数

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

打印结果:9  3  0  2

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

方法1:

JS函数

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

函数调用:

生成五个10到100之间的整数

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

打印结果: 48  56 98  23  15

方法2:

JS函数

<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>

调用方法:

randomNum(10, 100)

打印结果:77

免费资源网 - https://freexyz.cn/
返回顶部
顶部