实现随机数是各种编程语言都很常见的一个编程任务,下面介绍一下在JavaScript如何实现随机数。第一中方法通过重写Math.random方法实现,第二种方法改自一个C实现,都可以实现编程目的。
直接上代码:
01 |
<script language="javascript">
|
02 |
var native_random = Math.random;
|
03 |
Math.random = function(min, max, exact) {
|
04 |
if (arguments.length === 0)
|
06 |
return native_random();
|
08 |
else if (arguments.length === 1)
|
13 |
var range = min + (native_random()*(max - min));
|
14 |
return exact === void(0) ? Math.round(range) : range.toFixed(exact);
|
16 |
document.write(Math.random()); |
17 |
document.write('<br />');
|
18 |
document.write(Math.random(10)); |
19 |
document.write('<br />');
|
20 |
document.write(Math.random(3,10)); |
21 |
document.write('<br />');
|
22 |
document.write(Math.random(2,10,4)); |
程序运行结果如下:
如何不使用Math.random实现随机数呢?下面的函数改自一个C实现:
01 |
var random = (function(){
|
02 |
var high = 1, low = 1 ^ 0x49616E42;
|
03 |
var shuffle = function(seed){
|
05 |
low = seed ^ 0x49616E42;
|
11 |
high = (high << 16) + (high >> 16);
|
相关文章: