JavaScript 与 VBScript 随机数生成方法及高级应用详解

作者:拾光

时间:2026-10-22

浏览:665

本文详细解析 JavaScript 中 Math.random() 函数生成指定范围随机数的原理,涵盖从0到n及m到n的公式推导。同时介绍基于时间的随机数生成技巧,并对比 VBScript (ASP) 中 Randomize 函数的应用。文章提供多种代码实例,包括简易生成器、中心随机化算法及实际特效演示,帮助开发者掌握前后端随机数的高级应用。

文章目录
一、是javascript 随机数函数Math.random() 

JavaScript 随机数生成原理与公式

生成指定范围的随机数


Math.random() 方法不接受参数,其返回值是介于 0 和 1 之间的随机浮点数。若需生成 0 到 n 之间的随机整数,可采用特定格式进行转换。


具体实现方式如下所示:



Math.floor(Math.random()*n)


如果需要生成介于 m 到 n 之间的随机数,计算公式调整为:


Math.floor(Math.random()*n)+m



以下是具体的应用示例:


 

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]



javascript 随机数 高级应用

JavaScript 随机数的高级应用与示例

①自 JavaScript 诞生以来,多数浏览器都内置了随机数生成方法。例如:


var number = Math.random();


该语句生成一个 0 到 1 之间的浮点数。


②还可以基于当前时间生成随机数。例如:


var now=new Date();


var number = now.getSeconds();


这将产生一个基于当前时间的 0 到 59 之间的整数。


var now=new Date();


var number = now.getSeconds()%43;


这将产生一个基于当前时间的 0 到 42 之间的整数。


③这里介绍一个性能较优的随机数发生器程序,可适用于多种场景。


代码如下:

<script language="JavaScript"><!--
// The Central Randomizer 1.3 (C) 1997 by Paul Houle
(houle@msc.cornell.edu)
// See: http://www.msc.cornell.edu/~houle/javascript/randomizer.html
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd() {
rnd.seed = (rnd.seed*9301+49297) % 233280;
return rnd.seed/(233280.0);
}; 
function rand(number) {
return Math.ceil(rnd()*number);
}; 
// end central randomizer. -->
</script>

二、vbscript(asp) 随机数

VBScript (ASP) 随机数生成方法

vbs生成随机数


一个无指定范围的随机数


代码如下:

Function GetRandomize(numstr)
Randomize
GetRandomize = Int((numstr * Rnd) + 1)
End Function

生成指定范围的随机数


代码如下:

Function MyRnd(NumMin,NumMax)
Randomize
MyRnd = Int(Rnd * (NumMax - NumMin + 1)) + NumMin
End Function

下面是一些js随机数的实例代码


代码如下:

<script>
//声明一个随机数变量,默认为1
var GetRandomn = 1;
//获取随机范围内数值的函数
function GetRandom(n){GetRandomn=Math.floor(Math.random()*n+1)}
//开始调用,获得一个1-100的随机数
GetRandom("100");
//输出查看
document.write(GetRandomn)
</script>
代码相当简洁。GetRandomn 即为随机数变量,可在任意位置调用。
举一个随机显示特效的代码示例:
<script>
//现在开始,首先获得一个1到3的随机数
GetRandom("3");
//调用符合随机数的项目
switch(GetRandomn){
case 1:
document.write("当随机数为1则显示本站")
break;
case 2:
document.write("当随机数为2则显示www.jb51.net")
break;
} 
</script>

演示代码:



[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章