javascript中Math.random()使用詳解
Math.random()方法返回大于等于 0 小于 1 的一個(gè)隨機(jī)數(shù)。對(duì)于某些站點(diǎn)來(lái)說(shuō),這個(gè)方法非常實(shí)用,因?yàn)榭梢岳盟鼇?lái)隨機(jī)顯示一些名人名言和新聞事件。
1. 在連續(xù)整數(shù)中取得一個(gè)隨機(jī)數(shù)
值 = Math.floor(Math.random() * 可能值的總數(shù) + 第一個(gè)可能的值)
例:產(chǎn)生1-10的隨機(jī)數(shù)
var rand1 = Math.floor(Math.random() * 10 + 1);
編寫產(chǎn)生startNumber至endNumber隨機(jī)數(shù)的函數(shù)
function selectFrom(startNumber, endNumber) {
var choice = endNumber - startNumber + 1;
return Math.floor(Math.random() * choice + startNumber)
}
var rand2 = selectFrom(2,8);//產(chǎn)生2至8的隨機(jī)數(shù)
2. 在不相鄰整數(shù)中取得一個(gè)隨機(jī)數(shù)
2.1 在不相鄰的兩個(gè)整數(shù)中取得一個(gè)隨機(jī)數(shù)
例:隨機(jī)產(chǎn)生2或4中的一個(gè)數(shù)
var rand3 = Math.random() < 0.5 ? 2 : 4;
2.2 在不相鄰的多個(gè)整數(shù)中產(chǎn)生一個(gè)隨機(jī)數(shù)
結(jié)合函數(shù)參數(shù)數(shù)組,可編寫在不相鄰的多個(gè)整數(shù)中產(chǎn)生一個(gè)隨機(jī)值的函數(shù)
function selectFromMess() {
return arguments[Math.floor(Math.random() * arguments.length)]
}
//隨機(jī)產(chǎn)生1、6、8中的一個(gè)數(shù)
var rand4 = selectFromMess(1, 6, 8);
//也可隨機(jī)產(chǎn)生文本
var randomTxt1 = selectFromMess("安慰獎(jiǎng)", "二等獎(jiǎng)", "一等獎(jiǎng)");
每次要輸入這么多參數(shù)比較麻煩,可以改寫一下函數(shù)
function selectFromMessArray(arr) {
return arr[Math.floor(Math.random() * arr.length)]
}
var arrayTxt=["一","二","三","四","五"];
var randTxt2 = selectFromMessArray(arrayTxt);
或者不改變?cè)蟹椒?,可以利用apply()這個(gè)方法傳遞數(shù)組參數(shù)
var randTxt3 = selectFromMess.apply(null,arrayTxt);
關(guān)于apply方法的使用可以看http://www.dhdzp.com/article/42705.htm
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- 使用canvas及js簡(jiǎn)單生成驗(yàn)證碼方法
- JavaScript生成驗(yàn)證碼并實(shí)現(xiàn)驗(yàn)證功能
- js生成驗(yàn)證碼并直接在前端判斷
- JSP動(dòng)態(tài)生成驗(yàn)證碼存儲(chǔ)在session作用范圍內(nèi)
- jsp 生成驗(yàn)證碼代碼
- JavaScript中用于生成隨機(jī)數(shù)的Math.random()方法
- 使用js Math.random()函數(shù)生成n到m間的隨機(jī)數(shù)字
- javascript Math.random()隨機(jī)數(shù)函數(shù)
- JavaScript使用Math.random()生成簡(jiǎn)單的驗(yàn)證碼
相關(guān)文章
js實(shí)現(xiàn)內(nèi)容顯示并使用json傳輸數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)內(nèi)容顯示并使用json傳輸數(shù)據(jù)的方法,感興趣的小伙伴們可以參考一下2016-03-03
原生JavaScript實(shí)現(xiàn)todolist功能
本篇文章給大家介紹了通過(guò)原生JavaScript實(shí)現(xiàn)todolist功能相關(guān)知識(shí)點(diǎn),對(duì)此有需要的朋友可以學(xué)習(xí)下。2018-03-03
JS+WCF實(shí)現(xiàn)進(jìn)度條實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)加載量的方法詳解
這篇文章主要介紹了JS+WCF實(shí)現(xiàn)進(jìn)度條實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)加載量的方法,結(jié)合實(shí)例形式分析了大量數(shù)據(jù)導(dǎo)入過(guò)程中前臺(tái)js與后臺(tái)WCF交互實(shí)現(xiàn)實(shí)時(shí)顯示加載進(jìn)度的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
關(guān)于微信小程序中使用wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離
這篇文章主要介紹了關(guān)于微信小程序中使用wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離,wx.getLocation只能夠獲取經(jīng)緯度,不能夠拿到詳細(xì)地址,這里使用騰訊地圖的api,需要的朋友可以參考下2023-04-04
javascript變量作用域使用中常見(jiàn)錯(cuò)誤總結(jié)
剛看了一篇文章對(duì)js作用域的理解又會(huì)上升到一個(gè)新的臺(tái)階,javascript里變量作用域是個(gè)經(jīng)常讓人頭痛抓狂的問(wèn)題,接下來(lái)對(duì)經(jīng)常遇到又容易出錯(cuò)的情況進(jìn)行了簡(jiǎn)單總結(jié),感興趣的各位可以參考下哈2013-03-03
微信小程序連接服務(wù)器展示MQTT數(shù)據(jù)信息的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序連接服務(wù)器展示MQTT數(shù)據(jù)信息的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
JavaScript中防抖和節(jié)流的原理和區(qū)別詳解
JavaScript 中,防抖和節(jié)流是一種用于優(yōu)化事件處理函數(shù)調(diào)用頻率的技術(shù),防抖和節(jié)流的目的都是為了避免頻繁地觸發(fā)事件處理函數(shù),從而減少瀏覽器和服務(wù)器的負(fù)擔(dān),本文將給大家介紹一下JavaScript中防抖和節(jié)流的原理和區(qū)別,需要的朋友可以參考下2023-09-09

