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

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 實(shí)例講解JavaScript生成隨機(jī)數(shù)

實(shí)例講解JavaScript生成隨機(jī)數(shù)

更新時(shí)間:2021-04-06 21:33:27 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1470次

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

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

1.在JavaScript中通過(guò)以下語(yǔ)句可生成0~1的隨機(jī)數(shù):

Math.round(Math.random());

如果我們想設(shè)置在指定范圍里的隨機(jī)數(shù)也可通過(guò)以上的函數(shù)生成

例:生成8~100之間的隨機(jī)數(shù)

<!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范圍的話只需要將后面的數(shù)字8改為10就可以了,通過(guò)上述方法我們就可以實(shí)現(xiàn)自定義范圍內(nèi)隨機(jī)數(shù)的產(chǎn)生了

2.生成不重復(fù)的隨機(jī)數(shù)

有時(shí)可以通過(guò)特定的方法來(lái)產(chǎn)生隨機(jī)數(shù)但是它們之間不會(huì)重復(fù),如下所示:

script>
// 定義存放生成隨機(jī)數(shù)的數(shù)組 
var array=new Array(); 
// 循環(huán)N次生成隨機(jī)數(shù) 
for(var i = 0 ; ; i++){ 
// 只生成10個(gè)隨機(jī)數(shù) 
if(array.length<10){ 
generateRandom(10); 
}else{ 
break; 
} 
} 
// 循環(huán)遍歷隨機(jī)數(shù)數(shù)組 
for(var i = 0 ; i < array.length; i++){ 
document.write(array[i]); 
} 
// 生成隨機(jī)數(shù)的方法 
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>

結(jié)果會(huì)出現(xiàn)一組符合我們要求的隨機(jī)數(shù),我們每刷新一次就會(huì)顯示出一組新的隨機(jī)數(shù),但我們可以看出每次生成的是個(gè)隨機(jī)數(shù)都各不相同。

3.JavaScript如何生成指定范圍值的隨機(jī)數(shù)呢?

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

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

Math.random()*5

得到的結(jié)果是一個(gè)小于5的隨機(jī)數(shù)。而我們通常希望得到的是0-5之間的整數(shù),所以我們需要對(duì)得到的結(jié)果四舍五入處理一下,從而得到我們期望的整數(shù)。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

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

生成指定范圍數(shù)值隨機(jī)數(shù)

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

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

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

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

如果你希望生成任意值到任意值的隨機(jī)數(shù),公式就是這樣的:

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

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

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲精品国产福利在线观看 | 国产天堂 | 久久99国产视频 | 香港之夜免费观看 | 天天操夜夜欢 | 久久99精品福利久久久 | 2019亚洲日韩新视频 | 国产99精品 | 图片专区亚洲 欧美 另类 | 亚洲国产成人在线观看 | 在线 亚洲 欧美 | 视频二区精品中文字幕 | 欧美在线一级毛片视频 | 一本大道香蕉中文在线高清 | 欧美精品日本一级特黄 | 欧美国产精品日韩在线 | 亚洲视屏在线观看 | 99er热久久精品中文字幕 | 国产成人99久久亚洲综合精品 | 亚洲欧美日韩成人 | 成年午夜性视频免费播放 | 欧美色五月 | 国产精品第三页在线看 | 黄色在线网站视频 | 操你妹影院 | 青青青爽在线视频观看大全 | 国产成人综合亚洲一区 | 久久精品成人 | 最近中文国语字幕在线播放视频 | 奇米影视狠狠狠天天777 | 亚洲日本va中文字幕 | 国内精品久久久久影院中国 | 毛片女人毛片一级毛片毛片 | 一级床上爽高清播放 | 色片在线 | 欧美一级毛片一级 | 日日摸日日添夜夜爽97 | 综合久久99久久99播放 | 国产精品永久在线 | 久99久热只有精品国产99 | 久久新|