这几天一直在研究前台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