你是否想過在網頁中添加一些隨機元素?那么你就需要使用到javascript中的隨機數了
所謂的隨機數,即數字的出現順序沒有實際規律,是一個無規律的序列,隨機數是一種經常被使用的數值計算,它的出現是基于需要我們獲得唯一的、隨機的數值,比如抽獎、密碼生成或者動態效果生成等等。
function randomNum(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
如果你需要一個1~100之間的隨機數,那么你可以使用以下代碼:
var num = randomNum(1, 100);
你若在頁面中需要隨機展示一張圖片,那么可以根據以下方式進行隨機:
//圖片鏈接數組
var imgArr = ["img1.jpg", "img2.jpg", "img3.jpg", "img4.jpg"];
//隨機數
var n = Math.floor(Math.random() * imgArr.length );
//頁面展示圖片
document.getElementById("imgBox").innerHTML = "";
在實際中,我們可能需要一個包括小數的隨機數,比如在一個簽到場景中我們需要隨機獎品的概率,那么你可以使用以下代碼:
function randomNumFloat(min, max) {
return Math.random() * (max - min) + min;
}
獲取一個0~1之間的隨機小數:
var num = randomNumFloat(0, 1);
而如果要實現一種指定概率的隨機獎品中包含不同概率不同獎金的情況,那么可以先隨機一個總概率值,再隨機對應的獎品概率:
function getRandomItem(arr) {
var allWeight = 0,
alreadyweight = 0,
prizeIndex = 0;
for (var i = 0; i < arr.length; i++) {
allWeight += arr[i].prob; //統計總概率值
}
var random = Math.floor(Math.random() * allWeight);
for (var j = 0; j < arr.length; j++) {
if(random < alreadyweight){
prizeIndex = j-1;
break;
}
alreadyweight+= arr[j].prob;
}
return arr[prizeIndex];
}
//定義獎品概率數據
var prizeList=[{ name:"一等獎", prob: 1 },
{ name:"二等獎", prob: 2 },
{ name:"三等獎", prob: 3 },
{ name:"謝謝參與", prob: 94 }];
//隨機獲取一個獎品
var res = getRandomItem(prizeList);
以上就是javascript隨機數的介紹,無論是抽獎、動畫還是概率計算等,隨機數都是應用非常廣泛的一種數學計算,通過合理使用隨機數,我們可以得到非常靈活而具有可使用性的代碼。
上一篇div中mask
下一篇css文件的正確位置