JS中Math.random()方法的使用总结
🔥 前言
Math.random() 这个方法相信大家都知道,是用来生成随机数的。不过一般的参考手册时却没有说明如何用这个方法来生成指定范围内的随机数。下面就来详细的介绍一下Math.random(),以及如何用它来生成制定范围内的随机数。
🔥 Math.random()的介绍
Math.random()方法返回大于等于 0 小于 1 的一个随机数。也就是说,Math.radom()可以获得一个0.0到1.0的随机double值,不包括1.0,即[0.0,1.0)。对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件。
🔥 Math.random()的使用方法
1. 在连续整数中取得一个随机数
值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)
例:产生1-10的随机数
var rand1 = Math.floor(Math.random() * 10 + 1);
编写产生startNumber至endNumber随机数的函数
function selectFrom(startNumber, endNumber) {
var choice = endNumber - startNumber + 1;
return Math.floor(Math.random() * choice + startNumber)
}
var rand2 = selectFrom(2,8);//产生2至8的随机数
2. 在不相邻整数中取得一个随机数
2.1 在不相邻的两个整数中取得一个随机数
例:随机产生2或4中的一个数
var rand3 = Math.random() < 0.5 ? 2 : 4;
2.2 在不相邻的多个整数中产生一个随机数
结合函数参数数组,可编写在不相邻的多个整数中产生一个随机值的函数
function selectFromMess() {
return arguments[Math.floor(Math.random() * arguments.length)]
}
//随机产生1、6、8中的一个数
var rand4 = selectFromMess(1, 6, 8);
//也可随机产生文本
var randomTxt1 = selectFromMess("安慰奖", "二等奖", "一等奖");
每次要输入这么多参数比较麻烦,可以改写一下函数
function selectFromMessArray(arr) {
return arr[Math.floor(Math.random() * arr.length)]
}
var arrayTxt=["一","二","三","四","五"];
var randTxt2 = selectFromMessArray(arrayTxt);
或者不改变原有方法,可以利用apply()这个方法传递数组参数
var randTxt3 = selectFromMess.apply(null,arrayTxt);
关于apply方法的使用可以看js中apply方法的使用详细解析
🔥 Math.random()小结:
Math.random()的使用方法
场景1:随机生成[0.0,11.0)
// 随机生成[0.0,11.0)
var number = Math.random()*11
场景2:随机生成[10.0,15.0]
// 随机生成[10.0,15.0]
var number = 10.0 + Math.random()*(15-10+1)
场景3:随机生成[10.0,15.0)
// 随机生成[10.0,15.0)
var number = 10.0 + Math.random()*(15-10)
由此,我们可以总结一下Math.random()的使用规律
1、随机产生[0.0,1.0)
Math.random();
2、随机产生[0,M)
Math.random()*M;
3、随机产生[M,N)
m+Math.random()*(n-m);
4、随机产生[M,N]
m+Math.random()*(n-m+1);
即:最小值+Math.random()*(最大值-最小值+1);
🔥 应用案例
相关文章
- JS刷新当前页面的方法总结
- JS跳转代码_js中跳转页面路径
- js随机数生成器的扩展
- 总结几个对象转数组的方法是_js将对象转为数组
- js中四舍五入的方法_JS取整
- 妙用JS获取Oracle信息的快速方法(js获取Oracle)
- [转]JS宝典学习笔记
- JS判断数组中是否有重复值得三种实用方法
- js字母大小写转换实现方法总结
- js每隔5分钟执行一次ajax请求的实现方法
- JS实现日期加减的方法
- js动态加载事件的几种方法总结
- js中同步与异步处理的方法和区别总结
- js类式继承的具体实现方法
- js查找某元素中的所有图片地址的方法
- js控制容器隐藏出现防止样式变化的两种方法
- JS常用表单验证方法总结
- VisualStudio中js调试的方法图解
- node.js中的fs.symlinkSync方法使用说明
- js实现键盘控制DIV移动的方法