먼저 난수와 관련된 몇 가지 기능을 소개하겠습니다.
var Rand = Math.random();
수학: 데이터에 대한 수학적 계산을 제공하는 수학적 개체입니다.
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; }
위 내용은 이 글의 자세한 내용으로, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.