首頁 > web前端 > js教程 > 主體

JS中產生隨機數的用法及相關函數_javascript技巧

WBOY
發布: 2016-05-16 15:20:43
原創
1894 人瀏覽過

先為大家介紹一些關於隨機數的相關函數:
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;
}
登入後複製

以上就是本文的詳細內容,希望對大家的學習有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!