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 document.images实例
May 27 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
Jan 21 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
Dec 08 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
js实现点击切换TAB标签实例
Aug 21 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
May 25 Javascript
原生js轮播特效
May 18 Javascript
javascript简单写的判断电话号码实例
May 24 Javascript
Vue infinite update loop的问题解决
Apr 23 Javascript
jQuery实现日历效果
Sep 11 jQuery
写一个Vue loading 插件
Nov 09 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实现rc4加密算法代码
2012/04/25 PHP
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
php简单中奖算法(实例)
2017/08/15 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Python自定义线程池实现方法分析
2018/02/07 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
会计专业毕业生推荐信
2013/11/05 职场文书
婚前保证书
2014/04/29 职场文书
新学期开学演讲稿
2014/05/24 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技