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 相关文章推荐
JS cookie中文乱码解决方法
Jan 28 Javascript
jQuery中extend函数的实现原理详解
Feb 03 Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
使用jquery.form.js实现图片上传的方法
May 05 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
Jul 10 Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
Vue插件之滑动验证码
Sep 21 Javascript
vue实现数字动态翻牌的效果(开箱即用)
Dec 08 Javascript
jQuery实现移动端扭蛋机抽奖
Nov 08 jQuery
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
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 过滤危险html代码
2009/06/29 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
javascript 简练的几个函数
2009/08/29 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
python多线程用法实例详解
2015/01/15 Python
python中argparse模块用法实例详解
2015/06/03 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
Python bisect模块原理及常见实例
2020/06/17 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
软件测试常见笔试题
2012/02/04 面试题
服装厂厂长职责
2013/12/16 职场文书
运动会稿件50字
2014/02/17 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
解析MySQL binlog
2021/06/11 MySQL
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL