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 相关文章推荐
深入了解javascript中的prototype与继承
Apr 14 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
Aug 29 Javascript
js调试工具Console命令详解
Oct 21 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
跟我学习javascript解决异步编程异常方案
Nov 23 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
ionic组件ion-tabs选项卡切换效果实例
Aug 27 Javascript
简单实现node.js图片上传
Dec 18 Javascript
jquery.flot.js简单绘制折线图用法示例
Mar 13 Javascript
微信小程序滚动Tab实现左右可滑动切换
Aug 17 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
一百多行代码实现react拖拽hooks
Mar 23 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
php对象在内存中的存在形式分析
2015/02/03 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
childNodes.length与children.length的区别
2009/05/14 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
通过webpack引入第三方库的方法
2018/07/20 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
python Celery定时任务的示例
2018/03/13 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
物流业务员岗位职责
2014/02/08 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
消防安全责任书
2014/04/14 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
golang中的struct操作
2021/11/11 Golang
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python