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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/259496.html
標籤:其他
