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 插件 人性化的消息显示
Jan 21 Javascript
Div Select挡住的解决办法
Aug 07 Javascript
js获取事件源及触发该事件的对象
Oct 24 Javascript
玩转方法:call和apply
May 08 Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 Javascript
jstree的简单实例
Dec 01 Javascript
微信小程序 两种为对象属性赋值的方式详解
Feb 23 Javascript
vue项目中引入noVNC远程桌面的方法
Mar 05 Javascript
vue  自定义组件实现通讯录功能
Sep 30 Javascript
微信小程序中遇到的iOS兼容性问题小结
Nov 14 Javascript
简单分析js中的this的原理
Aug 31 Javascript
JavaScript字符和ASCII实现互相转换
Jun 03 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执行批量mysql语句的解决方法
2013/05/02 PHP
Prototype Class对象学习
2009/07/19 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
js读取本地excel文档数据的代码
2010/11/11 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
python 从远程服务器下载日志文件的程序
2013/02/10 Python
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
详解python中eval函数的作用
2019/10/22 Python
Python 支持向量机分类器的实现
2020/01/15 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
python爬取微博评论的实例讲解
2021/01/15 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
如何查找网页漏洞
2016/06/22 面试题
科研先进个人典型材料
2014/01/31 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
家长会标语
2014/06/24 职场文书
五心教育心得体会
2014/09/04 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
国富论读书笔记
2015/06/26 职场文书
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python