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产品间断向下滚动效果核心代码
May 08 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
javascript下使用Promise封装FileReader
Feb 19 Javascript
Boostrap入门准备之border box
May 09 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
Sep 08 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
Sep 19 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 Javascript
详解Vue依赖收集引发的问题
Apr 22 Javascript
基于ts的动态接口数据配置的详解
Dec 18 Javascript
微信小程序订阅消息(java后端实现)开发
Jun 01 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
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
javascript与CSS复习(三)
2010/06/29 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
超棒的响应式布局jQuery插件Freetile.js
2014/11/17 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
2015/09/23 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
Python MD5加密实例详解
2017/08/02 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
Python实现代码统计工具
2019/09/19 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
Python: glob匹配文件的操作
2020/12/11 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
机关办公室岗位职责
2014/04/16 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
幼儿园标语大全
2014/06/19 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书