国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js生成隨機數(shù)的過程解析

2019-11-20 11:11:21
字體:
來源:轉載
供稿:網友

一、預備知識

Math.ceil(); //向上取整。Math.floor(); //向下取整。Math.round(); //四舍五入。Math.random(); //0.0 ~ 1.0 之間的一個偽隨機數(shù)?!景?不包含1】 //比如0.8647578968666494Math.ceil(Math.random()*10);   // 獲取從1到10的隨機整數(shù) ,取0的概率極小。Math.round(Math.random());  //可均衡獲取0到1的隨機整數(shù)。Math.floor(Math.random()*10); //可均衡獲取0到9的隨機整數(shù)。Math.round(Math.random()*10); //基本均衡獲取0到10的隨機整數(shù),其中獲取最小值0和最大值10的幾率少一半。

因為結果在0~0.4 為0,0.5到1.4為1...8.5到9.4為9,9.5到9.9為10。所以頭尾的分布區(qū)間只有其他數(shù)字的一半。

二、生成[n,m]的隨機整數(shù)
函數(shù)功能:生成[n,m]的隨機整數(shù)。

在js生成驗證碼或者隨機選中一個選項時很有用。。

//生成從minNum到maxNum的隨機數(shù)function randomNum(minNum,maxNum){  switch(arguments.length){  case 1:   return parseInt(Math.random()*minNum+1,10);  break;  case 2:   return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);  break;   default:   return 0;   break;  } } 

過程分析:
Math.random()生成[0,1)的數(shù),所以Math.random()*5生成{0,5)的數(shù)。

通常期望得到整數(shù),所以要對得到的結果處理一下。

parseInt(),Math.floor(),Math.ceil()和Math.round()都可得到整數(shù)。

parseInt()和Math.floor()結果都是向下取整。

所以Math.random()*5生成的都是[0,4] 的隨機整數(shù)。

所以生成[1,max]的隨機數(shù),公式如下:

// max - 期望的最大值parseInt(Math.random()*max,10)+1;Math.floor(Math.random()*max)+1;Math.ceil(Math.random()*max);

所以生成[0,max]到任意數(shù)的隨機數(shù),公式如下:

// max - 期望的最大值parseInt(Math.random()*(max+1),10);Math.floor(Math.random()*(max+1));

所以希望生成[min,max]的隨機數(shù),公式如下:

// max - 期望的最大值// min - 期望的最小值parseInt(Math.random()*(max-min+1)+min,10);Math.floor(Math.random()*(max-min+1)+min);

以上就是關于js生成隨機數(shù)的全面解析,很細致,希望可以幫到大家。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 开鲁县| 嘉善县| 德保县| 曲松县| 留坝县| 延庆县| 柏乡县| 华容县| 平定县| 衡阳市| 荥阳市| 永兴县| 汉寿县| 上高县| 株洲县| 上栗县| 二连浩特市| 西林县| 商城县| 和顺县| 那曲县| 南平市| 蒲城县| 侯马市| 江西省| 常山县| 瑞昌市| 宁海县| 南阳市| 左云县| 呼伦贝尔市| 行唐县| 辛集市| 墨玉县| 家居| 文安县| 海盐县| 额尔古纳市| 吉首市| 彭州市| 泸水县|