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 相关文章推荐
为数据添加append,remove功能
Oct 03 Javascript
初探jquery——表单应用范例
Feb 20 Javascript
从新浪弄下来的全屏广告代码 与使用说明
Mar 15 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
使用jQueryMobile实现滑动翻页效果的方法
Feb 04 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
微信小程序 数据绑定详解及实例
Oct 25 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
微信小程序 Buffer缓冲区的详解
Jul 06 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
jQuery实现获取多选框的值示例
Feb 07 jQuery
vue实现短信验证码输入框
Apr 17 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
Laravel Eloquent ORM 实现查询表中指定的字段
2019/10/17 PHP
javascript 面向对象 function类
2010/05/13 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
python实现dijkstra最短路由算法
2019/01/17 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
python collections模块的使用
2020/10/16 Python
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
实用的简历自我评价
2014/03/06 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
红高粱观后感
2015/06/10 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
Pygame Draw绘图函数的具体使用
2021/11/17 Python