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 相关文章推荐
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
Javascript Object.extend
May 18 Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
Aug 27 Javascript
jquery设置控件位置的方法
Aug 21 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
Nov 17 Javascript
javascript从作用域链谈闭包
Jul 29 Javascript
利用JS实现简单的日期选择插件
Jan 23 Javascript
angular select 默认值设置方法
Jun 23 Javascript
Vue.js 事件修饰符的使用教程
Nov 01 Javascript
解决vuecli3中img src 的引入问题
Aug 04 Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 Javascript
vue制作toast组件npm包示例代码
Oct 29 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
pygame实现打字游戏
2021/02/19 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
医学专业应届生的自我评价
2014/02/28 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
委托书的写法
2014/08/30 职场文书
学习作风建设心得体会
2014/10/22 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
个人求职意向书
2015/05/11 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
python可视化之颜色映射详解
2021/09/15 Python