欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

js生成隨機(jī)數(shù)方法和實(shí)例-創(chuàng)新互聯(lián)

js生成一切隨機(jī)數(shù)的基礎(chǔ)都是Math.random(),這個(gè)方法比較特別,生成的隨機(jī)數(shù)落在的區(qū)間是[0,1),進(jìn)行一次操作的話,js只能生成一個(gè)類似于[n,m)這樣,左閉右開的區(qū)間。所以當(dāng)有一些特殊需求的時(shí)候,就勢(shì)必要進(jìn)行一些其它的操作,下面對(duì)各種需求進(jìn)行簡(jiǎn)單的分析:

在南昌縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷推廣,外貿(mào)網(wǎng)站建設(shè),南昌縣網(wǎng)站建設(shè)費(fèi)用合理。

生成任意區(qū)間的整數(shù)

1.全閉區(qū)間[n,m]

這種的最常見,大家都知道的那一長(zhǎng)串公式:Math.floor(Math.random()*(m-n+1))+n;就是生成這個(gè)全閉區(qū)間的方法。說(shuō)到這個(gè)公式很多人都知道,但真正想明白的人估計(jì)很少。先生成一個(gè)[0,m-n+1)這樣左閉右開的區(qū)間,然后用Math.floor()取到[0,m-n]之間內(nèi)的任意整數(shù)(看明白這一步很關(guān)鍵),之后加上區(qū)間左端點(diǎn)變成[n,m]內(nèi)的任意整數(shù),達(dá)到目的。

說(shuō)到這個(gè)地方,有一點(diǎn)必須提一下,隨便搜一下js生成隨機(jī)數(shù),有很多文章都會(huì)用Math.ceil()Math.round()這兩個(gè)方法,比如生成全閉的[n,m]區(qū)間內(nèi)的任意整數(shù),Math.ceil(Math.random()*(m-n))+n;或者Math.round(Math.random()*(m-n))+n;我感覺隨機(jī)數(shù),最重要的就是隨機(jī)兩個(gè)字,每個(gè)值取到的概率一定要相等,這一點(diǎn)對(duì)于一些特定的場(chǎng)合非常重要,比如抽獎(jiǎng)(年會(huì)都有抽獎(jiǎng)的吧)。

Math.ceil()的毛病是n<<m≈x,x為除端點(diǎn)之外的數(shù),區(qū)間足夠大的話n幾乎取不到,m和x的概率幾乎相等,因?yàn)閙這個(gè)點(diǎn)取不到所以概率相對(duì)來(lái)說(shuō)小了一點(diǎn)。Math.round()的毛病是n≈m=x/2,原因和前面的差不多,不明白的可以自己畫個(gè)坐標(biāo)軸,很明了。

2.全開區(qū)間(x,y)

其實(shí)只要記住上面的全閉區(qū)間,其它所有區(qū)間的開閉,都可以由其推到,過(guò)程如下:
(x,y) ==[x+1,y-1];也就是說(shuō)n=x+1; m=y-1;將其代入上面的公式就可以得到:Math.floor(Math.random()*(y-x-1))+x+1;

3.左閉右開[x,y)

同理,[x,y) == [x,y-1];代入得到:Math.floor(Math.random()*(y-x))+x;

4.左開右閉(x,y]

(x,y]==[x+1,y];代入得到:Math.floor(Math.random()*(y-x))+x+1;

生成任意區(qū)間內(nèi)的浮點(diǎn)數(shù)

這種實(shí)際當(dāng)中用到的比較少,但也挺有意思的。

[n,m)

這種最簡(jiǎn)單,因?yàn)楹蛂andom的特點(diǎn)保持一致。Math.rondom()*(m-n)+n;

因?yàn)閞andom的這種特點(diǎn),想要取到其它區(qū)間內(nèi)的浮點(diǎn)數(shù)就比較困難了。需要借助一些判斷才能才能滿足要求。思想和上面去整數(shù)的一樣。代碼如下:

function fullClose(n,m) { //[n,m]
      var result = Math.random()*(m+1-n)+n;
      while(result>m) {
        result = Math.random()*(m+1-n)+n;
      }
      return result;
    }
    function fullOpen(n,m) { // (n,m)
      var result = Math.random()*(m-n)+n;
      while(result == n) {
        result = Math.random()*(m-n)+n;
      }
      return result;
    }
    function leftOpen(n,m) { // (n,m]
      var result = Math.random()*(m-n+1)+n-1;
      while(result<n) {
        result = Math.random()*(m-n+1)+n-1;
      }
      return result;
    }

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:js生成隨機(jī)數(shù)方法和實(shí)例-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://www.chinadenli.net/article2/dhdsoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司定制網(wǎng)站網(wǎng)站維護(hù)全網(wǎng)營(yíng)銷推廣軟件開發(fā)網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)