JS中Math.random方法的使用有哪些细节要注意
Admin 2022-05-19 群英技术资讯 975 次浏览
javascript中的math.random()是用来生成随机数的,其使用语法如“Math.floor(Math.random() * 10 + 1);”,该语句能在连续整数中取得一个随机数。
本文操作环境:windows7系统、javascript1.8.5版、DELL G3电脑
javascript中Math.random()使用详解
Math.random() 这个方法相信大家都知道,是用来生成随机数的。不过一般的参考手册时却没有说明如何用这个方法来生成指定范围内的随机数。这次我就来详细的介绍一下Math.random(),以及如何用它来生成制定范围内的随机数。
Math.random()方法返回大于等于 0 小于 1 的一个随机数。对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件。
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);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录1.Array.map()2.Array.filter()3.Array.reduce()4.Array.reduceRight()5.Array.fill()6.Array.find()7.Array.indexOf()8.lastIndexOf()9.Array.findIndex()10.Array.incl
之前小编给大家介绍过JS宏任务与微任务的操作,今天我们继续来了解宏任务与微任务的内容,下文主要给大家讲一讲JavaScript宏任务与微任务的执行顺序,感兴趣的朋友就继续往下看吧。
本文介绍的是关于React中this指向的内容,对于React中this指向问题下文有详细的介绍及解决方法供大家参考,需要的朋友可以了解看看,对大家学习React中this指向的内容有一定的参考价值。接下来我们就一起了解一下吧。
这篇文章给大家分享的是uniapp中全局变量的五种实现方式,其中一些细节知识参考uView官网。下面就跟随小编一起来看看uniapp中全局变量的实现示例吧。
在本篇文章里小编给大家整理的是一篇关于js用正则表达式筛选年月日的实例方法,对此有兴趣的朋友们可以学习下。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008