Math

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Das Math-Namensraumobjekt enthält statische Eigenschaften und Methoden für mathematische Konstanten und Funktionen.

Math arbeitet mit dem Number-Typ. Es funktioniert nicht mit BigInt.

Beschreibung

Im Gegensatz zu den meisten globalen Objekten ist Math kein Konstruktor. Sie können es nicht mit dem new-Operator verwenden oder das Math-Objekt als Funktion aufrufen. Alle Eigenschaften und Methoden von Math sind statisch.

Hinweis: Viele Math-Funktionen haben eine Präzision, die implementierungsabhängig ist.

Dies bedeutet, dass verschiedene Browser unterschiedliche Ergebnisse liefern können. Sogar die gleiche JavaScript-Engine auf einem anderen Betriebssystem oder einer anderen Architektur kann unterschiedliche Ergebnisse liefern!

Statische Eigenschaften

Math.E

Eulersche Zahl und Basis der natürlichen Logarithmen; ungefähr 2.718.

Math.LN10

Natürlicher Logarithmus von 10; ungefähr 2.303.

Math.LN2

Natürlicher Logarithmus von 2; ungefähr 0.693.

Math.LOG10E

Logarithmus zur Basis 10 von E; ungefähr 0.434.

Math.LOG2E

Logarithmus zur Basis 2 von E; ungefähr 1.443.

Math.PI

Verhältnis des Umfangs eines Kreises zu seinem Durchmesser; ungefähr 3.14159.

Math.SQRT1_2

Quadratwurzel von ½; ungefähr 0.707.

Math.SQRT2

Quadratwurzel von 2; ungefähr 1.414.

Math[Symbol.toStringTag]

Der Anfangswert der [Symbol.toStringTag]-Eigenschaft ist der String "Math". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Statische Methoden

Math.abs()

Gibt den absoluten Wert der Eingabe zurück.

Math.acos()

Gibt den Arkuscosinus der Eingabe zurück.

Math.acosh()

Gibt den hyperbolischen Arkuscosinus der Eingabe zurück.

Math.asin()

Gibt den Arkussinus der Eingabe zurück.

Math.asinh()

Gibt den hyperbolischen Arkussinus einer Zahl zurück.

Math.atan()

Gibt den Arkustangens der Eingabe zurück.

Math.atan2()

Gibt den Arkustangens des Quotienten seiner Argumente zurück.

Math.atanh()

Gibt den hyperbolischen Arkustangens der Eingabe zurück.

Math.cbrt()

Gibt die Kubikwurzel der Eingabe zurück.

Math.ceil()

Gibt die kleinste ganze Zahl zurück, die größer oder gleich der Eingabe ist.

Math.clz32()

Gibt die Anzahl der führenden Nullen im 32-Bit-Ganzzahl-Input zurück.

Math.cos()

Gibt den Kosinus der Eingabe zurück.

Math.cosh()

Gibt den hyperbolischen Kosinus der Eingabe zurück.

Math.exp()

Gibt ex zurück, wobei x das Argument ist und e Eulersche Zahl (2.718…, die Basis des natürlichen Logarithmus).

Math.expm1()

Gibt exp(x) minus 1 zurück.

Math.floor()

Gibt die größte ganze Zahl zurück, die kleiner oder gleich der Eingabe ist.

Math.f16round()

Gibt die nächstgelegene Halbpräzisions-Float-Darstellung der Eingabe zurück.

Math.fround()

Gibt die nächstgelegene Einzelpräzisions-Float-Darstellung der Eingabe zurück.

Math.hypot()

Gibt die Quadratwurzel der Summe der Quadrate seiner Argumente zurück.

Math.imul()

Gibt das Ergebnis der 32-Bit-Ganzzahl-Multiplikation der Eingaben zurück.

Math.log()

Gibt den natürlichen Logarithmus (㏒e; auch ㏑) der Eingabe zurück.

Math.log10()

Gibt den Logarithmus zur Basis 10 der Eingabe zurück.

Math.log1p()

Gibt den natürlichen Logarithmus (㏒e; auch ㏑) von 1 + x für die Zahl x zurück.

Math.log2()

Gibt den Logarithmus zur Basis 2 der Eingabe zurück.

Math.max()

Gibt die größte von null oder mehr Zahlen zurück.

Math.min()

Gibt die kleinste von null oder mehr Zahlen zurück.

Math.pow()

Gibt die Basis x zur Potenz y zurück (d.h., xy).

Math.random()

Gibt eine pseudorandomisierte Zahl zwischen 0 und 1 zurück.

Math.round()

Gibt den auf die nächste ganze Zahl gerundeten Wert der Eingabe zurück.

Math.sign()

Gibt das Vorzeichen der Eingabe zurück, das anzeigt, ob es positiv, negativ oder null ist.

Math.sin()

Gibt den Sinus der Eingabe zurück.

Math.sinh()

Gibt den hyperbolischen Sinus der Eingabe zurück.

Math.sqrt()

Gibt die positive Quadratwurzel der Eingabe zurück.

Math.tan()

Gibt den Tangens der Eingabe zurück.

Math.tanh()

Gibt den hyperbolischen Tangens der Eingabe zurück.

Math.trunc()

Gibt den Ganzzahlanteil der Eingabe zurück und entfernt alle Nachkommastellen.

Beispiele

Umwandlung zwischen Grad und Radianten

Die trigonometrischen Funktionen sin(), cos(), tan(), asin(), acos(), atan() und atan2() erwarten (und geben zurück) Winkel in Radianten.

Da Menschen dazu neigen, in Grad zu denken, und einige Funktionen (wie CSS-Transformationen) Grad akzeptieren können, ist es eine gute Idee, Funktionen zur Hand zu haben, die zwischen den beiden konvertieren:

js
function degToRad(degrees) {
  return degrees * (Math.PI / 180);
}

function radToDeg(rad) {
  return rad / (Math.PI / 180);
}

Berechnung der Höhe eines gleichseitigen Dreiecks

Wenn wir die Höhe eines gleichseitigen Dreiecks berechnen möchten und wir wissen, dass seine Seitenlänge 100 beträgt, können wir die Formeln verwenden: Länge der anliegenden Seite multipliziert mit dem Tangens des Winkels ist gleich der gegenüberliegenden Seite.

Ein gleichseitiges Dreieck, bei dem eine Senkrechte von einer Ecke zur gegenüberliegenden Kante gezogen wird und ein rechtwinkliges Dreieck mit drei als "anliegend", "gegenüberliegend" und "Hypotenuse" markierten Seiten entsteht. Der Winkel zwischen den anliegenden und Hypotenusen-Seiten beträgt 60 Grad.

In JavaScript können wir dies wie folgt tun:

js
50 * Math.tan(degToRad(60));

Wir verwenden unsere degToRad()-Funktion, um 60 Grad in Radianten umzuwandeln, da Math.tan() einen Eingabewert in Radianten erwartet.

Rückgabe einer zufälligen ganzen Zahl zwischen zwei Grenzen

Dies kann mit einer Kombination aus Math.random() und Math.floor() erreicht werden:

js
function random(min, max) {
  const num = Math.floor(Math.random() * (max - min + 1)) + min;
  return num;
}

random(1, 10);

Spezifikationen

Specification
ECMAScript Language Specification
# sec-math-object

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch