Heim > Web-Frontend > js-Tutorial > Analyse des Prozesses der Generierung von Zufallszahlen mit js_javascript-Kenntnissen

Analyse des Prozesses der Generierung von Zufallszahlen mit js_javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 15:30:31
Original
1536 Leute haben es durchsucht

1. Vorkenntnisse

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的几率少一半。
Nach dem Login kopieren

Da das Ergebnis 0~0,4 ist, sind 0,5 bis 1,4 1...8,5 bis 9,4 sind 9 und 9,5 bis 9,9 sind 10. Daher ist das Verteilungsintervall von Kopf und Schwanz nur halb so groß wie das anderer Zahlen.

2. Erzeuge zufällige ganze Zahlen von [n, m]
Funktion: Generieren Sie zufällige ganze Zahlen von [n, m].

Es ist nützlich, wenn js einen Bestätigungscode generiert oder zufällig eine Option auswählt. .

//生成从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; 
 } 
} 
Nach dem Login kopieren

Prozessanalyse:
Math.random() generiert die Zahl [0,1), also generiert Math.random()*5 die Zahl {0,5).

Normalerweise wird eine Ganzzahl erwartet, daher muss das Ergebnis verarbeitet werden.

parseInt(), Math.floor(), Math.ceil() und Math.round() können alle Ganzzahlen abrufen.

Die Ergebnisse von parseInt() und Math.floor() werden abgerundet.

Math.random()*5 generiert also zufällige ganze Zahlen in [0,4].

Damit die Zufallszahl von [1,max] generiert wird, lautet die Formel wie folgt:

// max - 期望的最大值
parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);
Nach dem Login kopieren

Generieren Sie also eine Zufallszahl von [0,max] bis zu einer beliebigen Zahl. Die Formel lautet wie folgt:

// max - 期望的最大值
parseInt(Math.random()*(max+1),10);
Math.floor(Math.random()*(max+1));
Nach dem Login kopieren

Ich hoffe also, eine Zufallszahl von [min, max] zu generieren. Die Formel lautet wie folgt:

// max - 期望的最大值
// min - 期望的最小值
parseInt(Math.random()*(max-min+1)+min,10);
Math.floor(Math.random()*(max-min+1)+min);
Nach dem Login kopieren

Das Obige ist eine umfassende Analyse der von js generierten Zufallszahlen. Ich hoffe, es kann jedem helfen.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage