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写的点击上下滚动的小例子
Aug 27 Javascript
js播放wav文件(源码)
Apr 22 Javascript
jQuery+html5实现div弹出层并遮罩背景
Apr 15 Javascript
JS实现的自动打字效果示例
Mar 10 Javascript
angular-cli修改端口号【angular2】
Apr 19 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
10个最优秀的Node.js MVC框架
Aug 24 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
Aug 29 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
May 31 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
JS运算符优先级与表达式示例详解
Sep 04 Javascript
jQuery-App输入框实现实时搜索
Nov 19 jQuery
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 SQL防注入代码集合
2008/04/25 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
php支付宝接口用法分析
2015/01/04 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
20个最新的jQuery插件
2012/01/13 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
JS实现的RGB网页颜色在线取色器完整实例
2016/12/21 Javascript
js中作用域的实例解析
2017/03/16 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
python多线程threading.Lock锁用法实例
2014/11/01 Python
python常规方法实现数组的全排列
2015/03/17 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
Python高并发和多线程有什么关系
2020/11/14 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
大学生职业规划前言模板
2013/12/27 职场文书
车祸赔偿收入证明
2014/01/09 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
校长寄语大全
2014/04/09 职场文书
兽医医药专业求职信
2014/07/27 职场文书
受伤赔偿协议书
2014/09/24 职场文书
高中校园广播稿
2014/10/21 职场文书
高中生毕业评语
2014/12/30 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
Python List remove()实例用法详解
2021/08/02 Python
2022漫威和DC电影上映作品
2022/04/05 欧美动漫