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 指导方针
Apr 05 Javascript
Javascript UrlDecode函数代码
Jan 09 Javascript
javascript 二分法(数组array)
Apr 24 Javascript
jQuery ready函数滥用分析
Feb 16 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
Nov 18 Javascript
Bootstrap每天必学之标签与徽章
Nov 27 Javascript
微信小程序 配置文件详细介绍
Dec 14 Javascript
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 Javascript
vue实现点击关注后及时更新列表功能
Jun 26 Javascript
微信小程序canvas拖拽、截图组件功能
Sep 04 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 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
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
深入理解python多进程编程
2016/06/12 Python
Django 实现下载文件功能的示例
2018/03/06 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
python脚本第一行如何写
2020/08/30 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
公司离职证明范本
2014/01/13 职场文书
致200米运动员广播稿
2014/02/06 职场文书
高中生职业规划范文
2014/03/09 职场文书
北京故宫的导游词
2015/01/31 职场文书
民事调解书范文
2015/05/20 职场文书
开业典礼致辞
2015/07/29 职场文书