首页 前端开发 js 生成随机数

js 生成随机数

js 可以使用 Math(算数) 对象来实现随机数的生成。

需要了解的 Math 对象方法

方法描述
ceil(x)对数进行上舍入,即向上取整。
floor(x)对 x 进行下舍入,即向下取整。
round(x)四舍五入。
random()返回 0 ~ 1 之间的随机数,包含 0 不包含 1。

一些实例说明:

Math.ceil(Math.random()*10);     // 获取从 1 到 10 的随机整数,取 0 的概率极小。

Math.round(Math.random());       // 可均衡获取 0 到 1 的随机整数。

Math.floor(Math.random()*10);    // 可均衡获取 0 到 9 的随机整数。

Math.round(Math.random()*10);    // 基本均衡获取 0 到 10 的随机整数,其中获取最小值 0 和最大值 10 的几率少一半。

因为结果在 0~0.4 为 0,0.5 到 1.4 为 1,8.5 到 9.4 为 9,9.5 到 9.9 为 10。所以头尾的分布区间只有其他数字的一半。


生成 [n,m] 的随机整数

函数功能:生成 [n,m] 的随机整数。

在 js 生成验证码或者随机选中一个选项时很有用。

//生成从minNum到maxNum的随机数function randomNum(minNum,maxNum){ 
    switch(arguments.length){ 
        case 1: 
            return parseInt(Math.random()*minNum+1,10); 
        break; 
        case 2: 
            return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); 
        break; 
            default: 
                return 0; 
            break; 
    } } 

过程分析:

Math.random() 生成 [0,1) 的数,所以 Math.random()*5 生成 {0,5) 的数。

通常期望得到整数,所以要对得到的结果处理一下。

parseInt(),Math.floor(),Math.ceil() 和 Math.round() 都可得到整数。

parseInt() 和 Math.floor() 结果都是向下取整。

所以 Math.random()*5 生成的都是 [0,4] 的随机整数。

所以生成 [1,max] 的随机数,公式如下:

// max - 期望的最大值parseInt(Math.random()*max,10)+1;Math.floor(Math.random()*max)+1;Math.ceil(Math.random()*max);

所以生成 [0,max] 到任意数的随机数,公式如下:

// max - 期望的最大值parseInt(Math.random()*(max+1),10);Math.floor(Math.random()*(max+1));

所以希望生成 [min,max] 的随机数,公式如下:

// max - 期望的最大值// min - 期望的最小值parseInt(Math.random()*(max-min+1)+min,10);Math.floor(Math.random()*(max-min+1)+min);

站星网

js 可以使用 Math(算数) 对象来实现随机数的生成。需要了解的 Math 对象方法方法描述ceil(x)对数进行上舍..

为您推荐

js 截取字符串

本文为大家介绍三种 js 截取字符串的方法:substring() 方法;substr() 方法;slice() 方法;方法1:substring() 方法string.substring(from, to)方法从 from 位置截取到 to 位置,to 可选,没有设置时默认到末尾。..

html/js调用本地邮箱发送邮件

用a标签:<a href="mailto:收件人邮箱?subject=test&cc=抄送人邮箱&subject=主题&body=内容">调用邮箱本地发送邮件</a>js发送:/*js调用本地邮箱发送邮件*/function mailsome1() {var who = prompt("请输入收件人邮..

js 刷新当前页面

本文为大家介绍三种js 刷新当前页面的方法:reload() 方法;replace() 方法;页面自动刷新;方法1:reload() 方法reload()方法用于刷新当前文档。reload() 方法类似于你浏览器上的刷新页面按钮。location.reload();方法..

JS获取url参数

以下JS函数用于获取url参数:functiongetQueryVariable(variable){varquery=window.location.search.substring(1);varvars=query.split("&");for(vari=0;i<vars.length;i++){varpair=vars[i].split("=");if(pair[0]==..

发表回复

返回顶部

微信分享

微信分享二维码

扫描二维码分享到微信或朋友圈

链接已复制
星辰影视-2025热门免费影视短剧平台熊猫影视-2025热门免费影视短剧平台番茄影视-2025热门免费影视短剧平台星光电影-2025热门免费影视短剧平台蜂鸟影院-2025热门免费影视短剧平台熊猫影视 - 全网高清免费影片聚合平台萝卜影院-2025热门电影电视剧免费在线播放-全站无广告高速播放下载樱花影院-2025热门免费影视短剧平台琪琪影视-2025热门免费影视短剧平台火影电影网-2025热门免费影视短剧平台悟空电影-2025热门免费影视短剧平台西瓜影院-2025热门免费影视短剧平台星空电影网-2025热门免费影视短剧平台好看电影网-2025热门免费影视短剧平台无忧影视网_高清影视在线观看分享平台_最新最全的免费影视短剧大全年钻网超清视界 - 全网高清免费短剧聚合平台极影公社-2025热门电影电视剧免费在线播放至尊影院-最新热门短剧免费电影网站_高清影视无弹窗极速播放星光电影-2025热门免费影视短剧平台河马影视-最新热门火爆的免费影视网站_高清影视夸克迅雷网盘下载叮当影视网-2025热门高清免费影视短剧分享平台70影视网 - 最新电影、电视剧、短剧、免费在线观看麻花影视网 - 高清免费聚合电影网西瓜影院-最新热门电影电视剧免费在线播放开心追剧网2048影视资源论坛-2048P.Com青青影视网-2025热门高清免费影视短剧分享平台八哥电影网_最新vip电影大全_热播电视剧_全网优质影视免费在线观看_老牌的免费在线影院_www.886958.com人人看电影-热播电视剧_2025年最新电影_人人影院高清在线免费观看天天影视网-高清免费电影、电视剧、短剧在线观看星辰影视-最新热门无广告的免费电影网站_高清影视无弹窗极速播放电影天堂爱看影院追剧达人U系列网盘资源橙子影视网天堂影视网天堂影视神马影院网大众影视网星辰影视网