您的当前位置:首页正文

js随机数代码大全_javascript技巧Math

2020-11-27 来源:汇智旅游网

很多情况下,需要用到随机数,脚本之家特为大家整理了一些具体的使用与说明。

js随机数基础
一、是javascript 随机数函数Math.random()

random(Math.random 方法)
public static random() : Number

返回一个伪随机数 n,其中 0 <= n < 1。返回的数字之所以称为"伪随机"数是因为它从技术角度来说是以保密方式计算的。

返回
Number ─ 一个数字。

生成指定范围的随机数
Math.random()方法没有参数,返回0~1之间的随机数,如果要生成0~n之间的随机
数,可以使用下面的格式:

Math.floor(Math.random()*n)
若要生成m~n之间的随机数,可以用:
Math.floor(Math.random()*n)+m

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.gxlcms.com/~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>
详细出处参考:http://www.gxlcms.com/


那么怎么轻松获得一个指定范围的随机数呢?经过我的对比,我的这个函数是目前为止网上最简洁实用滴
实例代码:


[Ctrl+A 全选 注:如需引入外部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.gxlcms.com")
break;
}
</script>

引用部分:

1. 从1开始 至 任意值
parseInt(Math.random()*上限+1);

2. 从任意值开始 至 任意值
parseInt(Math.random()*(上限-下限+1)+下限);
function fRandomBy(under, over){
switch(arguments.length){
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
}
}
document.write(fRandomBy(1,100));  //输出指定范围内的随机数的随机整数
</script>

下面是给文本框按规则付不同的随即值[引申]

代码如下:


1-10: <input type="text" /><br />
11-20: <input type="text" /><br />
1-100: <input type="text" /><br />
51-100: <input type="text" /><br />

<script>
window.onload=function(){
var o=document.getElementsByTagName('input');
o[0].value=fRandomBy(1,10);
o[1].value=fRandomBy(11,20);
o[2].value=fRandomBy(1,100);
o[3].value=fRandomBy(51,100);
}
</script>

显示全文