先為大家介紹一些關于隨機數的相關函數:
var Rand = Math.random();
- 1.Math.random(); 結果為0-1間的一個隨機數(包括0,不包括1)
- 2.Math.floor(num); 參數num為一個數值,函數結果為num的整數部分。
- 3.Math.round(num); 參數num為一個數值,函數結果為num四舍五入后的整數。
Math:數學對象,提供對數據的數學計算。
Math.random(); 返回0和1間(包括0,不包括1)的一個隨機數。
Math.ceil(n); 返回大于等于n的最小整數。
用Math.ceil(Math.random()*10);時,主要獲取1到10的隨機整數,取0的幾率極小。
Math.round(n); 返回n四舍五入后整數的值。
用Math.round(Math.random());可均衡獲取0到1的隨機整數。
用Math.round(Math.random()*10);時,可基本均衡獲取0到10的隨機整數,其中獲取最小值0和最大值10的幾率少一半。
Math.floor(n); 返回小于等于n的最大整數。
用Math.floor(Math.random()*10);時,可均衡獲取0到9的隨機整數。
隨機抽獎,還可擴展,比如設置抽獎的概率,和數據庫一起使用。
//中獎概率需求,100%中獎,有3項獎品,但是抽到書本的概率為20%function draw() { var d_s = GetRandom(100); if (d_s >= 1 && d_s <= 40) { alert('恭喜您抽到XXX!'); } else if (d_s >= 41 && d_s <= 80) { alert('恭喜您抽到XXX!'); } else { alert('恭喜您抽到書本!'); }} 對應的js生成隨機數的函數代碼:
<script> 2function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random(); return(Min + Math.round(Rand * Range)); } 8var num = GetRandomNum(1,10); 9alert(num); </script>var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];function generateMixed(n) { var res = ""; for(var i = 0; i < n ; i ++) { var id = Math.ceil(Math.random()*35); res += chars[id]; } return res;} 以上就是本文的詳細內容,希望對大家的學習有所幫助。



















