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 相关文章推荐
FireFox中textNode分片的问题
Apr 10 Javascript
javascript优先加载笔记代码
Sep 30 Javascript
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 Javascript
JavaScript判断浏览器类型的方法
Feb 10 Javascript
jQuery简单实现验证邮箱格式
Jul 15 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
AngularJS国际化详解及示例代码
Aug 18 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
ES6 对象的新功能与解构赋值介绍
Feb 05 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
Nov 09 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
Smarty安装配置方法
2008/04/10 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python中常见的数据类型小结
2015/08/29 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
工程安全员岗位职责
2014/03/09 职场文书
企业领导对照检查材料
2014/08/20 职场文书
合作协议书模板2014
2014/09/26 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
给下属加薪申请报告
2015/05/15 职场文书