Javascript教程:随机数

pehir1314

pehir1314

2016-02-20 00:57

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Javascript教程:随机数,希望大家看完后能赶快学习起来。

弄个随机数的东西,直接从网上找了一个现成的,简单看了两眼,感觉算法应该是对的,但今天测试下来,是不对的;

网上大多数人用的写法是这样的:

function getRandomA(rMin,rMax) {
    var range = rMax - rMin;
 var r = rMin + Math.round( Math.random() * range);
    return r;
}

用十万的量跑了一下才发现,首位和末位随机的机率不高;

测试一下:

script
//A
function getRandomA(rMin,rMax) {
    var range = rMax - rMin;
 var r = rMin + Math.round( Math.random() * range);
    return r;
}
//test code.
var randArray = new Array();
var testNume = 100000;
for(var y=0; ytestNume; y++){
    var r = getRandomA(0,9);
 if(typeof(randArray[r]) == 'undefined') randArray[r] = 1;
    else randArray[r] = randArray[r] + 1;
}
for(var y=0; yrandArray.length; y++){
 document.write('第一种写法,数字' + y + '共命中:' + randArray[y] + '次' + 'br /');
}
/script

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

从网上找了找发现大家都是这样写的,但这样应该是有问题的。

于是我自已写了一个,简单验证了一下,应该是可以的,很平均。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

function getRandom(rMin,rMax) {
 if(rMin == 0) rMax++;
 return Math.floor(rMax*Math.random() + rMin);
}

 HTML代码

script//B
function getRandom(rMin,rMax) {
 if(rMin == 0) rMax++;
 return Math.floor(rMax*Math.random() + rMin);
}
//test code.
var randArray = new Array();
var testNume = 100000;
for(var y=0; ytestNume; y++){
    var r = getRandom(0,9);
 if(typeof(randArray[r]) == 'undefined') randArray[r] = 1;
    else randArray[r] = randArray[r] + 1;
}
for(var y=0; yrandArray.length; y++){
 document.write('我自已的写法,数字' + y + '共命中:' + randArray[y] + '次' + 'br /');
}
/script

在这里记录给自已,这个应该还比较常用,看来大家都在用的东西不一定就靠谱,多质疑一下还是有好处的。

展开更多 50%)
分享

猜你喜欢

Javascript随机数教程

Web开发
Javascript随机数教程

Javascript教程:随机数

Web开发
Javascript教程:随机数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Oracle 随机数

编程语言 网络编程
Oracle 随机数

随机数算法

编程语言 网络编程
随机数算法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用ASP随机产生随机数

ASP
用ASP随机产生随机数

如何给随机数加密

编程语言 网络编程
如何给随机数加密

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JS计数器函数执行过程解读

JS计数器函数执行过程解读

Win10如何取消开机密码?

Win10如何取消开机密码?
下拉加载更多内容 ↓