实现随机数是各种编程语言都很常见的一个编程任务,下面介绍一下在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); |
最新文章
- SharePoint 2013 沙盒解决方案不能激活(激活按钮不可用)
- Windows7 64位压缩包安装MySQL5.7.9
- SphinxSE 一些SQL查询语句
- JS - Constructor还可以这样用
- Black Box 分类: POJ 栈和队列 2015-08-05 14:07 2人阅读 评论(0) 收藏
- 二十、Android -- SDcard文件读取和保存
- 主题:PageRank解释
- openssl Mac编译小记
- PCB板蛇形走线有什么作用
- 如何本地测试例如QQ登录等第三方接口
- OpenCV探索之路(十六):图像矫正技术深入探讨
- jquery第二篇
- node版本升级参考
- 吴裕雄 python 机器学习——岭回归
- js对象之XMLHttpReques对象学习
- 使用update可以防止并发问题(保证数据的准确性),如果使用select会产生并发问题 ; select * from xx for update 给查询开启事务,默认情况下是没有事物的
- golang 多个worker正常关闭的示例
- Linux基础命令---修改用户密码
- Calendar的使用注意
- 获取SQL数据库表空间结构
热门文章
- leetcode-第k个排列(Java和c++版)
- HTML 之 表单
- 第一周 Welcome
- 感知机(perceptron)
- geth账户密码
- SpringBoot在IntelliJ IDEA下for MAC 热加载
- POJ 3608 Bridge Across Islands(计算几何の旋转卡壳)
- Thunder——基于NABCD评价“欢迎来怼”团队作品
- 找bug——加分作业
- 往Matlab中添加工具包