js 생 성 난수 과정 분석

2149 단어
예비 지식

Math.ceil(); //    。

Math.floor(); //    。

Math.round(); //    。

Math.random(); //0.0 ~ 1.0          。【  0   1】 //  0.8647578968666494

Math.ceil(Math.random()*10);   //    1 10      , 0     。

Math.round(Math.random());  //     0 1     。

Math.floor(Math.random()*10); //     0 9     。

Math.round(Math.random()*10); //      0 10     ,       0    10      。

결 과 는 0 ~ 0.4 가 0, 0.5 에서 1.4 가 1... 8.5 에서 9.4 가 9, 9.5 에서 9.9 가 10 이기 때문이다.그래서 두미 의 분포 구간 은 다른 숫자의 절반 에 불과 하 다.
2. [n, m] 의 무 작위 정수 함수 생 성 기능: [n, m] 의 무 작위 정 수 를 생 성 합 니 다.
js 에서 인증 코드 를 만 들 거나 무 작위 로 옵션 을 선택 할 때 유용 합 니 다.

//   minNum maxNum    
function randomNum(minNum,maxNum){ 
 switch(arguments.length){ 
 case 1: 
  return parseInt(Math.random()*minNum+1,10); 
 break; 
 case 2: 
  return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); 
 break; 
  default: 
  return 0; 
  break; 
 } 
} 

프로 세 스 분석: Math. random () 생 성 [0, 1) 의 수 이기 때문에 Math. random () * 5 생 성 {0, 5) 의 수 입 니 다.
보통 정 수 를 기대 하기 때문에 얻 은 결 과 를 처리 해 야 한다.
parseInt (), Math. floor (), Math. ceil () 과 Math. round () 는 모두 정 수 를 얻 을 수 있다.
parseInt () 과 Math. floor () 결 과 는 모두 아래로 정 리 됩 니 다.
그래서 Math. random () * 5 는 모두 [0, 4] 의 무 작위 정수 로 생 성 된다.
그래서 [1, max] 의 임 의 수 를 생 성 합 니 다. 공식 은 다음 과 같 습 니 다.

// max -       
parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);

그래서 [0, max] 에서 임 의 수의 임 의 수 를 생 성 합 니 다. 공식 은 다음 과 같 습 니 다.

// max -       
parseInt(Math.random()*(max+1),10);
Math.floor(Math.random()*(max+1));

그래서 [min, max] 의 임 의 수 를 만 들 고 싶 습 니 다. 공식 은 다음 과 같 습 니 다.

// max -       
// min -       
parseInt(Math.random()*(max-min+1)+min,10);
Math.floor(Math.random()*(max-min+1)+min);

이상 은 js 생 성 난수 에 대한 전면적 인 해석 입 니 다. 섬세 하 므 로 여러분 께 도움 이 되 었 으 면 합 니 다.

좋은 웹페이지 즐겨찾기