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 相关文章推荐
Jquery 弹出层插件实现代码
Oct 24 Javascript
jQuery的学习步骤
Feb 23 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
提高jQuery性能的十个诀窍
Nov 14 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
Mar 13 Javascript
jQuery select表单提交省市区城市三级联动核心代码
Jun 09 Javascript
Node.js的Koa框架上手及MySQL操作指南
Jun 13 Javascript
基于input框覆盖掉数字英文的实例讲解
Jul 21 Javascript
js实现数组内数据的上移和下移的实例
Nov 14 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
JavaScript解析机制与闭包原理实例详解
Mar 08 Javascript
vue中是怎样监听数组变化的
Oct 24 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
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
告诉大家什么是JSON
2008/06/10 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
Python程序员开发中常犯的10个错误
2014/07/07 Python
python基础教程之对象和类的实际运用
2014/08/29 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
python基于property()函数定义属性
2020/01/22 Python
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
语文教育专业应届生求职信
2013/11/23 职场文书
上班玩手机检讨书
2014/02/17 职场文书
会议欢迎标语
2014/06/30 职场文书
党建目标管理责任书
2014/07/25 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
抗洪救灾标语
2014/10/08 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL
js实现自动锁屏功能
2021/06/02 Javascript
Python中Selenium对Cookie的操作方法
2021/07/09 Python