随机数方法是javaScript中经常使用的一种方法。 例如,需要在屏幕上的一个随机位置显示一幅图像,编写的小游戏要扔骰子等。javaScript中Math对象的random()方法生成0-1之间的随机数,它的随机数种子采用系统时间,因此可以基本保证每次调用random()方法时都会采用不同的伪随机数序列。下面来对javascript中的各种随机数方法做一个总结。 基本的随机数 在javaScript中最简单的使用随机数的方法是Math.random()方法。我们可以直接在chrome浏览器的控制台中测试一下这个方法,如下图:
Math.random()方法总是会返回0-1之间的浮点数。Math.random()方法返回的随机数可能是0,但是永远不会是1。 返回两个指定数值之间的随机数(不包含最大值) 在实际使用中,我们可能需要获取两个指定数值之间的随机数。同样,我们获取的这个随机数可能等于最小值,但是不会等于最大值。 1、获取两个指定数值之间随机浮点数。 function getRandomFloat(min, max) { return Math.random() * (max - min) + min; } 例如下面是在控制台中执行该函数得到50到100之间的随机浮点数的结果。
2、获取两个指定数值之间随机整数。 function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min)) + min; } 例如下面是在控制台中执行该函数得到50到100之间的随机整数的结果。
返回两个指定数值之间的随机数(包含最大值) 如果需要返回的随机数可以包含最大值,可以使用下面的函数来实现。 function getRandomInRange(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }
抛硬币(随机布尔值) 如果你想使用0和1来代表抛硬币的结果,代码类似下面的样子。 function coinToss() { return Math.floor(Math.random() * 2); }
如果你需要返回实际的 function coinToss() { return (Math.floor(Math.random() * 2) === 0); }
使用Web Cryptography API来生成一组随机数 Web Cryptography API是W3C发布的Web加密API(Web Cryptography API)的标准草案。该文档定义了在Web应用中执行基本加解密操作的JavaScript API,如哈希操作(hash)、签名生成和验证(signature generation and verification),以及加密解密等。此外,该文档还描述了与密钥管理有关的操作。API的用途覆盖用户或服务的认证、文档或代码的签名、通信的机密性与完整性保证等。 我们可以使用Web Cryptography API来生成一组随机数。 var cryptoStor = new Uint16Array(8); 上面的代码会生成包含8个16位无符号整数的数组。其它可以使用整数选项有:Int8Array,Uint8Array,int16Array,Int32Array 和 Uint32Array。 然后使用随机数来填充数组。 window.crypto.getRandomValues(cryptoStor);
|
| 本文出处: http://www.toutiao.com/a6428702447439167745/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|