JS中生成随机数的用法及相关函数


Posted in Javascript onJanuary 09, 2016

先为大家介绍一些关于随机数的相关函数:
var Rand = Math.random();

  • 1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
  • 2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
  • 3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。

Math:数学对象,提供对数据的数学计算。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。

Math.ceil(n); 返回大于等于n的最小整数。
Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。

Math.round(n); 返回n四舍五入后整数的值。
Math.round(Math.random());可均衡获取0到1的随机整数。
Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。

Math.floor(n); 返回小于等于n的最大整数。
Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
随机抽奖,还可扩展,比如设置抽奖的概率,和数据库一起使用。

//中奖概率需求,100%中奖,有3项奖品,但是抽到书本的概率为20%
function draw() {
  var d_s = GetRandom(100);
  if (d_s >= 1 && d_s <= 40) {
    alert('恭喜您抽到XXX!');
  } else if (d_s >= 41 && d_s <= 80) {
    alert('恭喜您抽到XXX!');
  } else {
    alert('恭喜您抽到书本!');
  }
}

对应的js生成随机数的函数代码:

<script> 
 2function GetRandomNum(Min,Max)
{  
  var Range = Max - Min;  
  var Rand = Math.random();  
  return(Min + Math.round(Rand * Range));  
}  
 8var num = GetRandomNum(1,10);  
 9alert(num);  
</script>

var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];

function generateMixed(n) {
   var res = "";
   for(var i = 0; i < n ; i ++) {
     var id = Math.ceil(Math.random()*35);
     res += chars[id];
   }
   return res;
}

以上就是本文的详细内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
海量经典的jQuery插件集合
Jan 12 Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
Mar 03 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
vue-router路由参数刷新消失的问题解决方法
Jun 17 Javascript
JS实现的邮箱提示补全效果示例
Jan 30 Javascript
vue项目实现github在线预览功能
Jun 20 Javascript
webpack多入口多出口的实现方法
Aug 17 Javascript
vue移动端监听滚动条高度的实现方法
Sep 03 Javascript
详解Webpack loader 之 file-loader
Nov 07 Javascript
JavaScript学习笔记之图片库案例分析
Jan 08 Javascript
关于element的表单组件整理笔记
Feb 05 Javascript
JavaScript电子时钟倒计时
Jan 09 #Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 #Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 #Javascript
学习JavaScript设计模式之状态模式
Jan 08 #Javascript
jQuery CSS3相结合实现时钟插件
Jan 08 #Javascript
js实现对ajax请求面向对象的封装
Jan 08 #Javascript
javascript弹性运动效果简单实现方法
Jan 08 #Javascript
You might like
php email邮箱正则
2008/10/08 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
js实现图片3D轮播效果
2019/09/21 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
JS script脚本中async和defer区别详解
2020/06/24 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
详解在Python程序中使用Cookie的教程
2015/04/30 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
用python处理MS Word的实例讲解
2018/05/08 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
北京振戎融通Java面试题
2015/09/03 面试题
毕业生自荐信的主要内容
2013/10/29 职场文书
车间班长岗位职责
2013/11/30 职场文书
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
留守儿童工作方案
2014/06/02 职场文书
售房委托书
2014/08/30 职场文书
个人年底工作总结
2015/03/10 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
四年级作文之植物
2019/09/20 职场文书
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android
分享提高 Python 代码的可读性的技巧
2022/03/03 Python
Nginx的基本概念和原理
2022/03/21 Servers