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+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
Vue.js学习笔记之 helloworld
Aug 14 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
详解JavaScript模块化开发
Dec 04 Javascript
15个非常实用的JavaScript代码片段
Dec 18 Javascript
微信小程序商城项目之淘宝分类入口(2)
Apr 17 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
jquery实现楼层滚动效果
Jan 01 jQuery
详解extract-text-webpack-plugin 的使用及安装
Jun 12 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
Feb 25 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/06/16 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
python getopt详解及简单实例
2016/12/30 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python中return函数返回值实例用法
2020/11/19 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
教师节促销活动方案
2014/02/14 职场文书
致800米运动员广播稿
2014/02/16 职场文书
社区服务活动总结
2014/05/07 职场文书
525心理活动总结
2014/07/04 职场文书
高中物理教学反思
2016/02/19 职场文书
协议书格式模板
2016/03/24 职场文书
python实现会员管理系统
2022/03/18 Python