大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 實例講解JavaScript生成隨機數

實例講解JavaScript生成隨機數

更新時間:2021-04-06 21:33:27 來源:動力節點 瀏覽1354次

生成隨機數無論是在Java還是在JavaScript中都是非常基礎的內容,在JavaScript中可以通過Math.random()函數來生成0~1的隨機數,也可以通過設置函數的值使其生成任意范圍的隨機數或者是各不相同的隨機數。本文我們就來通過實例講解JavaScript生成隨機數,為大家不再為之花費心思。

在JavaScript中可以通過Math.random()函數產生一個0~1之間的隨機數,但是這往往滿足不了我們平時的需求。Math.random函數就不像php的rand函數一樣可以生成指數范圍的數據了,math.random只是生成了一個偽隨機數,之后還要經過我們處理才行。但是我們可以通過其他方法來使其產生我們想要的隨機數。本文為大家分享的是通過Math.random()函數產生隨機數,具有一定的參考作用,希望對大家有所幫助。

1.在JavaScript中通過以下語句可生成0~1的隨機數:

Math.round(Math.random());

如果我們想設置在指定范圍里的隨機數也可通過以上的函數生成

例:生成8~100之間的隨機數

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
<script>
var num=Math.floor(Math.random()*100+8);
document.write(num);
</script>
</head>
<body>
</body>
</html>

如果你想生成10到100范圍的話只需要將后面的數字8改為10就可以了,通過上述方法我們就可以實現自定義范圍內隨機數的產生了

2.生成不重復的隨機數

有時可以通過特定的方法來產生隨機數但是它們之間不會重復,如下所示:

script>
// 定義存放生成隨機數的數組 
var array=new Array(); 
// 循環N次生成隨機數 
for(var i = 0 ; ; i++){ 
// 只生成10個隨機數 
if(array.length<10){ 
generateRandom(10); 
}else{ 
break; 
} 
} 
// 循環遍歷隨機數數組 
for(var i = 0 ; i < array.length; i++){ 
document.write(array[i]); 
} 
// 生成隨機數的方法 
function generateRandom(count){ 
var rand = parseInt(Math.random()*count); 
for(var i = 0 ; i < array.length; i++){ 
if(array[i] == rand){ 
return false; 
} 
} 
array.push(rand); 
} 
</script>

結果會出現一組符合我們要求的隨機數,我們每刷新一次就會顯示出一組新的隨機數,但我們可以看出每次生成的是個隨機數都各不相同。

3.JavaScript如何生成指定范圍值的隨機數呢?

利用 parseInt()、Math.floor() 或者 Math.ceil()進行四舍五入處理

我們看到,直接使用Math.random()方法,生成的是一個小于1的數,所以:

Math.random()*5

得到的結果是一個小于5的隨機數。而我們通常希望得到的是0-5之間的整數,所以我們需要對得到的結果四舍五入處理一下,從而得到我們期望的整數。parseInt()、Math.floor()和Math.ceil()都可以起到四舍五入的作用。

var randomNum = Math.random()*5;
alert(randomNum); // 2.9045290905811183
alert(parseInt(randomNum,10)); // 2
alert(Math.floor(randomNum)); // 2
alert(Math.ceil(randomNum)); // 3

由測試的代碼我們可以看到,parseInt()和Math.floor()的效果是一樣的,都是向下取整數部分。所以parseInt(Math.random()*5,10)和Math.floor(Math.random()*5)都是生成的0-4之間的隨機數,Math.ceil(Math.random()*5)則是生成的1-5之間的隨機數。

生成指定范圍數值隨機數

所以,如果你希望生成1到任意值的隨機數,公式就是這樣的:

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

如果你希望生成0到任意值的隨機數,公式就是這樣的:

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

如果你希望生成任意值到任意值的隨機數,公式就是這樣的:

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

看到這里,相信我們對于JavaScript如何生成隨機數的疑惑迎刃而解,我們可以針對不同的要求生成不同性質的隨機數。在本站的JavaScript教程中還會給出采用其他函數生成隨機數的方法,我們可以由此舉一反三,推導出更多的方法。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 青青免费视频视频在线 | 久久久青草青青国产亚洲免观 | 日本三级做a全过程在线观看 | 国产高清成人 | 免费特黄一级欧美大片在线看 | 日本a中文字幕 | 五月综合激情久久婷婷 | 久久精品中文字幕一区 | 白云精品视频国产专区 | 久久精品中文字幕一区 | 国产成人一区二区三区在线播放 | 免费a级网站| 在线不欧美 | 天天操天天干天天拍 | 午夜欧美精品久久久久久久 | 免费一级欧美片片线观看 | 天天操天天干天天玩 | 亚洲欧洲高清 | 久久五月天婷婷 | 天天色网站 | 国产精品免费一级在线观看 | 深夜免费看 | 九九热欧美 | 福利视频999 | 在线精品亚洲欧洲第一页 | 久久黄色免费视频 | 99精品免费在线观看 | 一级毛片日本特黄97人人 | 精品成人一区二区三区免费视频 | 亚洲麻豆精品 | 一级特黄a视频 | 国产自产视频在线观看香蕉 | 国产精品不卡在线观看 | 精品少妇一区二区三区视频 | 亚洲成人免费 | 国产美女mm131爽爽爽免费 | 精品国产调教最大网站女王 | 久久天堂在线 | 第一福利视频网 | 波多野结衣久久一区二区 | 97影院理伦在线观看 |