Math.random()方法返回大於等於 0 小於 1 的一個隨機數。對於某些站點來說,這個方法非常實用,因為可以利用它來隨機顯示一些名人名言和新聞事件。
1. 在連續整數中取得一個隨機數
值 = Math.floor(Math.random() * 可能值的總數 + 第一個可能的值)
例:產生1-10的隨機數
復制代碼 代碼如下:
var rand1 = Math.floor(Math.random() * 10 + 1);
編寫產生startNumber至endNumber隨機數的函數
復制代碼 代碼如下:
function selectFrom(startNumber, endNumber) {
var choice = endNumber - startNumber + 1;
return Math.floor(Math.random() * choice + startNumber)
}
var rand2 = selectFrom(2,8);//產生2至8的隨機數
2. 在不相鄰整數中取得一個隨機數
2.1 在不相鄰的兩個整數中取得一個隨機數
例:隨機產生2或4中的一個數
復制代碼 代碼如下:
var rand3 = Math.random() < 0.5 ? 2 : 4;
2.2 在不相鄰的多個整數中產生一個隨機數
結合函數參數數組,可編寫在不相鄰的多個整數中產生一個隨機值的函數
復制代碼 代碼如下:
function selectFromMess() {
return arguments[Math.floor(Math.random() * arguments.length)]
}
//隨機產生1、6、8中的一個數
var rand4 = selectFromMess(1, 6, 8);
//也可隨機產生文本
var randomTxt1 = selectFromMess("安慰獎", "二等獎", "一等獎");
每次要輸入這麼多參數比較麻煩,可以改寫一下函數
復制代碼 代碼如下:
function selectFromMessArray(arr) {
return arr[Math.floor(Math.random() * arr.length)]
}
var arrayTxt=["一","二","三","四","五"];
var randTxt2 = selectFromMessArray(arrayTxt);
或者不改變原有方法,可以利用apply()這個方法傳遞數組參數
復制代碼 代碼如下:
var randTxt3 = selectFromMess.apply(null,arrayTxt);
關於apply方法的使用可以看http://www.jb51.net/article/42705.htm
以上所述就是本文的全部內容了,希望大家能夠喜歡。