实现随机数是各种编程语言都很常见的一个编程任务,下面介绍一下在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); |