Javascript隨機淺析
在網頁制作中,Javascript作為一個重要的腳本語言,相信大家都不會陌生。這里我們主要探討Javascript中的隨機函數,常見的使用方式以及實現方法。
一、Math.random()函數
// 生成0-1之間隨機數
let num = Math.random();
console.log(num);// 輸出0-1之間隨機數
Math.random()函數是Javascript中自帶的函數,用于隨機生成一個0-1之間的數字。在實際應用中,通常需要每次調用該函數時,生成不同的隨機數。此時可以利用包含最小值和最大值的公式,計算出在該范圍內的隨機數:
// 生成10-20之間隨機整數
let num = Math.floor(Math.random() * 11 + 10);
console.log(num);
上述代碼中,“Math.floor()”函數用于刪除小數部分,其余部分不變;在公式“Math.random() * 11 + 10”中,“Math.random() * 11”函數計算乘積后,對應到10-20之間的浮點數,加10后成功生成一個10-20之間的隨機整數。
二、借助數組實現隨機選取
// 利用數組實現隨機選取
let arr = ['apple', 'banana', 'orange', 'pear'];
let len = arr.length;
let randomIndex = Math.floor(Math.random() * len);
let selected = arr[randomIndex];
console.log(selected);
在上述代碼中,我們建立了一個數組,表示選項的集合;然后確定數組長度并生成一個隨機的索引數組;最后根據索引選出相應選項。數組可以通過添加元素來擴展選項范疇,例如:
let arr = ['apple', 'banana', 'orange', 'pear', 'grape', 'watermelon'];
三、產生唯一的隨機數
// 產生唯一的隨機數
let used = [];
function uniqueRandom() {
let num = Math.floor(Math.random() * 10);
if(used.includes(num)) {
return uniqueRandom();
} else {
used.push(num);
return num;
}
}
let unique = uniqueRandom();
console.log(unique);
上述代碼中,“uniqueRandom()”函數利用了回調的方式,每次產生一個隨機數的時候,判斷該數是否已經在前面已經產生的數字序列中,是則再次生成,直到這個數不在“used”數組中為止。這樣,每次調用產生的都是之前沒有出現過的隨機數。
四、隨機顏色
// 生成隨機顏色
function randomColor() {
let r = Math.floor(Math.random() * 256);
let g = Math.floor(Math.random() * 256);
let b = Math.floor(Math.random() * 256);
let color = "rgb(" + r + "," + g + "," + b + ")";
return color;
}
let color = randomColor();
console.log(color);
“rgb()”是CSS中表示顏色的一種方法,該方法包含“紅、綠、藍”三個顏色參數,其取值范圍為0-255。因此,我們可以采用類似于整數隨機數的方式,生成三個隨機的0-255之間的數字,并拼接成符合CSS要求的顏色字符串。
以上就是Javascript中隨機函數的主要使用方法和實現過程。在實際開發中,隨機函數常被用于手機驗證碼、某些特定情境下的強制刷新以及填充或樣式顏色的隨機化等方面。