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 div 遮罩层封锁整个页面
Jul 10 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
Jan 18 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
Mar 27 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
Jan 14 Javascript
jquery删除table当前行的实例代码
Oct 07 Javascript
简单的Vue异步组件实例Demo
Dec 27 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
详解Vue CLI3 多页应用实践和源码设计
Aug 30 Javascript
vue keep-alive 动态删除组件缓存的例子
Nov 04 Javascript
如何通过JS实现日历简单算法
Oct 14 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抓即时股票信息
2006/10/09 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
python if not in 多条件判断代码
2016/09/21 Python
django 常用orm操作详解
2017/09/13 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
大学生最常用的自我评价
2013/12/07 职场文书
书法社团活动总结
2015/05/07 职场文书
工作报告范文
2019/06/20 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
浅谈Python项目的服务器部署
2021/04/25 Python
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android