Die Math.random() Funktion gibt eine Pseudozufallszahl in Form einer Gleitkommazahl im Bereich von 0 (inklusive) bis 1 (exklusive) zurück, die dann zur gewünschten Größe skaliert werden kann. Die Zufallszahl wird von der Implementierung bestimmt; sie kann nicht vom Benutzer ausgewählt oder zurückgesetzt werden.

Math.random() stellt keine echten Zufallszahlen bereit. Verwenden Sie sie nicht für etwas, was in Bezug zu Sicherheit steht. Verwenden Sie stattdessen die Web Crypto API, genauer die window.crypto.getRandomValues() Methode.

Syntax

Math.random()

Rückgabewert

Eine pseudozufällige Gleitkommazahl zwischen 0 (inklusiv) und 1 (exklusiv).

Beispiele

Beachten Sie, dass, weil Zahlen in JavaScript IEEE 754 Gleitkommazahlen sind, mit dem Verhalten zur nächsten geraden Zahl zu runden, die Bereiche für die folgenden Funktionen - mit Ausnahme für Math.random() selbst - nicht exakt sind.
Wenn extrem große Grenzen
(253 oder höher) gewählt werden, ist es in äußerst seltenen Fällen möglich, dass die eigentlich ausgeschlossenen Obergrenzen mit eingerechnet werden.

Erzeugt eine Zufallszahl zwischen 0 (inklusive) und 1 (exklusive)

function getRandom() {
  return Math.random();
}

Erzeugt eine Zufallszahl zwischen zwei Zahlen

Das Beispiel gibt eine zufällige Zahl zwischen zwei Zahlen zurück. Der Rückgabewert is größer oder gleich min und kleiner als max.

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

Erzeugt eine ganze Zufallszahl zwischen zwei Zahlen

Gibt eine Zufallszahl zwischen min (inklusive) und max (exklusive) zurück Die Verwendung von Math.round() erzeugt keine gleichmäßige Verteilung!

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min;
}

Es könnte verlockend sein, Rundungen zu verwenden, um das Ergebnis zu erreichen, aber das würde dazu führen, dass die zufälligen Zahlen einer ungleichmäßigen Verteilung folgen würden, die möglicherweise nicht den geforderten Bedürfnisse entsprechen würde.

Erzeugt eine ganze Zufallszahl zwischen zwei Zahlen (inklusiv)

Gibt eine Zufallszahl zwischen min (inklusive) und max (inklusive) zurück Die Verwendung von Math.round() erzeugt keine gleichmäßige Verteilung.

 

function getRandomIntInclusive(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min +1)) + min; 
} 

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 1st Edition (ECMA-262) Standard Initiale Definition. JavaScript 1.0 (nur auf UNIX) / JavaScript 1.1 (auf allen Plattformen).
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Math.random' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Math.random' in dieser Spezifikation.
Standard  
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Math.random' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung Ja Ja Ja Ja Ja Ja
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Ja Ja Ja Ja Ja Ja ?

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123, cami, serv-inc, Dargmuesli
 Zuletzt aktualisiert von: schlagi123,