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 相关文章推荐
javascript radio 联动效果
Mar 04 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
基于jquery的仿百度搜索框效果代码
Apr 11 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
js获取字符串字节数方法小结
Jun 09 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
AngularJS基础 ng-include 指令示例讲解
Aug 01 Javascript
Javascript Function.prototype.bind详细分析
Dec 29 Javascript
Vue.js仿微信聊天窗口展示组件功能
Aug 11 Javascript
vue基于mint-ui的城市选择3级联动的示例
Oct 25 Javascript
jQuery实现消息弹出框效果
Dec 10 jQuery
javascript遍历对象的五种方式实例代码
Oct 24 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
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
python 绘制场景热力图的示例
2020/09/23 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
应届毕业生的自我鉴定
2013/11/13 职场文书
2014年关于两会精神的心得体会
2014/03/17 职场文书
爱护草坪标语
2014/06/24 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
五年级上册复习计划
2015/01/19 职场文书
小学元宵节活动总结
2015/02/06 职场文书
单身证明范本
2015/06/15 职场文书
正规欠条模板
2015/07/03 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
windows11怎么查看自己安装的版本号? win11版本号的查看方法
2021/11/21 数码科技