js實現的產生隨機數程式碼例項

antzone發表於2017-03-24

在很多時候可能需要用到隨機數,下面就分享一下實現隨機數的幾種方式,希望能夠給需要的朋友帶來幫助。

一.最基本的實現:

[JavaScript] 純文字檢視 複製程式碼
Math.random();

Math.random()函式可以產生一個0-1之間的隨機數,不包括1。如果想要產生m-n區間的隨機數就可以用如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
Math.floor(Math.random()*24)

以上程式碼可以返回0-23的隨機數,不包括24.

當然上面的程式碼總感覺不太方便,還是進行一下封裝比較好,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function GetRandomNum(Min,Max){    
  var Range=Max-Min;    
  var Rand=Math.random();    
  return(Min+Math.round(Rand*Range));    
}    
console.log(GetRandomNum(3,20));

以上程式碼可以返回Min-Max之間的隨機數。

二.利用事件產生隨機數:

[JavaScript] 純文字檢視 複製程式碼
var odate=new Date(); 
var num=odate.getSeconds();
console.log(num%45);

以上程式碼可以返回0-45之間的隨機數。

三.據傳網上比較優秀的程式碼:

[JavaScript] 純文字檢視 複製程式碼
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd(){
  rnd.seed=(rnd.seed*9301+49297)%233280;
  return rnd.seed/(233280.0);
};
function rand(number){
  return Math.ceil(rnd()*number);
};

上面的程式碼是採用線性同餘法計算隨機數的,有興趣的朋友可以研究一下。

相關文章