Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 成人午夜精品视频在线观看,一区二区三区四区电影视频在线观看,婷婷综合缴情亚洲五月伊

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          介紹JavaScript中的隨機(jī)數(shù)的方法

          機(jī)數(shù)方法是javaScript中經(jīng)常使用的一種方法。 例如,需要在屏幕上的一個(gè)隨機(jī)位置顯示一幅圖像,編寫的小游戲要扔骰子等。javaScript中Math對象的random()方法生成0-1之間的隨機(jī)數(shù),它的隨機(jī)數(shù)種子采用系統(tǒng)時(shí)間,因此可以基本保證每次調(diào)用random()方法時(shí)都會采用不同的偽隨機(jī)數(shù)序列。下面來對javascript中的各種隨機(jī)數(shù)方法做一個(gè)總結(jié)。

          基本的隨機(jī)數(shù)

          在javaScript中最簡單的使用隨機(jī)數(shù)的方法是Math.random()方法。我們可以直接在chrome瀏覽器的控制臺中測試一下這個(gè)方法,如下圖:

          Math.random()方法總是會返回0-1之間的浮點(diǎn)數(shù)。Math.random()方法返回的隨機(jī)數(shù)可能是0,但是永遠(yuǎn)不會是1。

          返回兩個(gè)指定數(shù)值之間的隨機(jī)數(shù)(不包含最大值)

          在實(shí)際使用中,我們可能需要獲取兩個(gè)指定數(shù)值之間的隨機(jī)數(shù)。同樣,我們獲取的這個(gè)隨機(jī)數(shù)可能等于最小值,但是不會等于最大值。

          1、獲取兩個(gè)指定數(shù)值之間隨機(jī)浮點(diǎn)數(shù)。

          function getRandomFloat(min, max) {

          return Math.random() * (max - min) + min;

          }

          例如下面是在控制臺中執(zhí)行該函數(shù)得到50到100之間的隨機(jī)浮點(diǎn)數(shù)的結(jié)果。

          2、獲取兩個(gè)指定數(shù)值之間隨機(jī)整數(shù)。

          function getRandomInt(min, max) {

          return Math.floor(Math.random() * (max - min)) + min;

          }

          例如下面是在控制臺中執(zhí)行該函數(shù)得到50到100之間的隨機(jī)整數(shù)的結(jié)果。

          返回兩個(gè)指定數(shù)值之間的隨機(jī)數(shù)(包含最大值)

          如果需要返回的隨機(jī)數(shù)可以包含最大值,可以使用下面的函數(shù)來實(shí)現(xiàn)。

          function getRandomInRange(min, max) {

          return Math.floor(Math.random() * (max - min + 1)) + min;

          }

          拋硬幣(隨機(jī)布爾值)

          如果你想使用0和1來代表拋硬幣的結(jié)果,代碼類似下面的樣子。

          function coinToss() {

          return Math.floor(Math.random() * 2);

          }

          如果你需要返回實(shí)際的truefalse值,代碼如下。

          function coinToss() {

          return (Math.floor(Math.random() * 2) === 0);

          }

          使用Web Cryptography API來生成一組隨機(jī)數(shù)

          Web Cryptography API是W3C發(fā)布的Web加密API(Web Cryptography API)的標(biāo)準(zhǔn)草案。該文檔定義了在Web應(yīng)用中執(zhí)行基本加解密操作的JavaScript API,如哈希操作(hash)、簽名生成和驗(yàn)證(signature generation and verification),以及加密解密等。此外,該文檔還描述了與密鑰管理有關(guān)的操作。API的用途覆蓋用戶或服務(wù)的認(rèn)證、文檔或代碼的簽名、通信的機(jī)密性與完整性保證等。

          我們可以使用Web Cryptography API來生成一組隨機(jī)數(shù)。

          var cryptoStor = new Uint16Array(8);

          上面的代碼會生成包含8個(gè)16位無符號整數(shù)的數(shù)組。其它可以使用整數(shù)選項(xiàng)有:Int8Array,Uint8Array,int16Array,Int32Array 和 Uint32Array。

          然后使用隨機(jī)數(shù)來填充數(shù)組。

          window.crypto.getRandomValues(cryptoStor);

          JavaScript中Math對象提供了一個(gè)random方法, 函數(shù)返回一個(gè)浮點(diǎn)數(shù),隨機(jī)數(shù)在范圍從0 到小于1,也就是說,從 0(包括 0)往上,但是不包括 1(排除 1)

          基本使用

          console.log("第一次: ", Math.random()); // 0.11548793236830579
          console.log("第二次: ", Math.random()); // 0.40543646157371227

          方法封裝

          /**
           * 生成一個(gè)范圍內(nèi)的隨機(jī)數(shù)
           */
          const getRandom = (min, max) => {
            // 首先我們獲取一個(gè)[0,1)的浮點(diǎn)數(shù)
            const floatRandom = Math.random();
          
            // 然后計(jì)算出最大值和最小值之間的范圍, 加1是為了可以等于max
            const difference = max - min + 1;
          
            // 生成[0,difference]之間的隨機(jī)數(shù), 向下取整
            const random = Math.floor(difference * floatRandom);
          
            // 返回[min, difference + min] => [min, max]
            const randomWithinRange = random + min;
          
            return randomWithinRange;
          };
          
          console.log(getRandom(7, 9));

          簡寫

          avaScript中數(shù)學(xué)對象Math抽取隨機(jī)數(shù)的公式詳解

          我們用JavaScript寫效果的時(shí)候經(jīng)常會用到一些隨機(jī)數(shù),比如我們在做隨機(jī)點(diǎn)名,或者說我們開年會的時(shí)候?qū)懸粋€(gè)隨機(jī)的抽獎的效果,這些效果當(dāng)中都要用到JavaScript抽取隨機(jī)數(shù),很多同學(xué)在抽取隨機(jī)數(shù)的時(shí)候不好掌握技巧,其實(shí),抽取隨機(jī)數(shù)非常簡單,只需要我們掌握J(rèn)avaScript這門語言的Math對象里的抽取隨機(jī)數(shù)的公式就可以。

          JavaScript中數(shù)學(xué)對象Math抽取隨機(jī)數(shù)的公式詳解

          下面是抽取隨機(jī)數(shù)的公式:

          取0-1之間的隨機(jī)小數(shù)(取值范圍無限接近于0,無限接近于1):Math.random();

          取x到y(tǒng)之間的隨機(jī)數(shù):Math.random()*(y-x)+x;

          例如,取12至29之間的隨機(jī)小數(shù)(取值范圍無限接近于12,無限接近于29):Math.random()*(29-12)+12;

          取x到y(tǒng)之間的隨機(jī)整數(shù)(能取到x和y):Math.floor(Math.random()*(y+1-x)+x);

          例如,取12到29之間的任意的隨機(jī)整數(shù)(能取到12和29):Math.floor(Math.random()*(29+1-12)+12);

          如果還有疑問可以到后盾網(wǎng)論壇進(jìn)行提問:bbs.houdunwang.com,有專業(yè)的老師及時(shí)幫你解答哦!

          【本文來自 孫琪崢博客 http://www.sunqizheng.com/,想獲取更好的頁面瀏覽效果或者有任何問題請進(jìn)入博客,同時(shí)也可在博主評論區(qū)進(jìn)行留言,讓博主為大家答疑解惑~】


          主站蜘蛛池模板: 精品一区二区三区在线观看视频| www亚洲精品少妇裸乳一区二区| 波多野结衣AV一区二区三区中文| 武侠古典一区二区三区中文| 国产乱码一区二区三区| 免费视频一区二区| 波多野结衣免费一区视频| 午夜视频久久久久一区| 亚洲色欲一区二区三区在线观看| 日韩精品无码一区二区中文字幕| 四虎永久在线精品免费一区二区| 久久久久成人精品一区二区 | 无码欧精品亚洲日韩一区夜夜嗨| 成人在线观看一区| 精品国产一区二区二三区在线观看 | 国产主播一区二区三区| 国产精品无码一区二区三区在| 亚洲国产AV无码一区二区三区| 中文乱码人妻系列一区二区| 亚洲一区二区观看播放| 天堂一区二区三区在线观看| 无码国产精品久久一区免费 | 四虎成人精品一区二区免费网站 | 视频一区视频二区日韩专区| 一区二区三区中文| 夜夜嗨AV一区二区三区| 亚洲AV无一区二区三区久久| 精品一区二区三区在线观看视频| 97久久精品无码一区二区| 国精产品一区一区三区有限公司 | 国精产品一区二区三区糖心| 国产激情一区二区三区| 国产一区二区三区不卡AV| 亚洲综合无码一区二区三区| 成人丝袜激情一区二区| 精品一区二区三区四区在线 | 极品少妇伦理一区二区| 国产高清一区二区三区四区| 国产在线精品一区二区三区直播 | 久夜色精品国产一区二区三区| 无码精品人妻一区二区三区影院|