javascript中Math.random()使用详解


Posted in Javascript onApril 15, 2015

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

关于apply方法的使用可以看https://3water.com/article/42705.htm

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
Prototype Date对象 学习
Jul 12 Javascript
可自定义速度的js图片无缝滚动示例分享
Jan 20 Javascript
jQuery中extend()和fn.extend()方法详解
Jun 03 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
Oct 26 Javascript
js querySelector() 使用方法
Dec 21 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
浅谈Vue.use的使用
Aug 29 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 Javascript
vue动画—通过钩子函数实现半场动画操作
Aug 09 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
javascript实现简单留言板案例
Feb 09 Javascript
js数组依据下标删除元素
Apr 14 #Javascript
js获取数组的最后一个元素
Apr 14 #Javascript
jQuery实现鼠标划过修改样式的方法
Apr 14 #Javascript
jquery仿百度经验滑动切换浏览效果
Apr 14 #Javascript
jQuery获得子元素个数的方法
Apr 14 #Javascript
jQuery简单实现遍历数组的方法
Apr 14 #Javascript
jquery插件orbit.js实现图片折叠轮换特效
Apr 14 #Javascript
You might like
我的论坛源代码(七)
2006/10/09 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
Python实现密码薄文件读写操作
2019/12/16 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
python绘制雷达图实例讲解
2021/01/03 Python
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
2014年社区重阳节活动策划方案
2014/09/16 职场文书
个人合伙协议书范本
2014/10/14 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
会议简报格式范文
2015/07/20 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
用Python实现屏幕截图详解
2022/01/22 Python
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python