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.
* Some parts of this feature may have varying levels of support.
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. Selbst 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ähr2.303
. Math.LN2
-
Natürlicher Logarithmus von
2
; ungefähr0.693
. Math.LOG10E
-
Zehnerlogarithmus von
E
; ungefähr0.434
. Math.LOG2E
-
Zweierlogarithmus von
E
; ungefähr1.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ähr1.414
. Math[Symbol.toStringTag]
-
Der Anfangswert der
[Symbol.toStringTag]
-Eigenschaft ist der String"Math"
. Diese Eigenschaft wird inObject.prototype.toString()
verwendet.
Statische Methoden
Math.abs()
-
Gibt den absoluten Wert der Eingabe zurück.
Math.acos()
-
Gibt den Arkuskosinus der Eingabe zurück.
Math.acosh()
-
Gibt den hyperbolischen Arkuskosinus 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 Null-Bits der 32-Bit-Integer-Eingabe 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 die Eulersche Zahl (
2.718
…, die Basis des natürlichen Logarithmus) ist. Math.expm1()
-
Gibt
exp(x)
minus1
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 halbe Präzision der Float-Darstellung der Eingabe zurück.
Math.fround()
-
Gibt die nächstgelegene einfache Präzision der 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-Integer-Multiplikation der Eingaben zurück.
Math.log()
-
Gibt den natürlichen Logarithmus (㏒e; auch ㏑) der Eingabe zurück.
Math.log10()
-
Gibt den Zehnerlogarithmus der Eingabe zurück.
Math.log1p()
-
Gibt den natürlichen Logarithmus (㏒e; auch ㏑) von
1 + x
für die Zahlx
zurück. Math.log2()
-
Gibt den Zweierlogarithmus 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 den Wert der Basis
x
potenziert mit dem Exponenteny
zurück (d.h.x
y
). Math.random()
-
Gibt eine pseudozufällige Zahl zwischen
0
und1
zurück. Math.round()
-
Gibt den Wert der Eingabe auf die nächste ganze Zahl gerundet zurück.
Math.sign()
-
Gibt das Vorzeichen der Eingabe zurück, welches 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.sumPrecise()
-
Gibt die Summe eines übergebenen iterierbaren Objekts von Zahlen zurück, um den Präzisionsverlust von Gleitkommazahlen in Zwischenergebnissen zu vermeiden.
Math.tan()
-
Gibt den Tangens der Eingabe zurück.
Math.tanh()
-
Gibt den hyperbolischen Tangens der Eingabe zurück.
Math.trunc()
-
Gibt den ganzzahligen Anteil der Eingabe zurück und entfernt alle Nachkommastellen.
Beispiele
Umrechnung zwischen Grad und Radianten
Die trigonometrischen Funktionen sin()
, cos()
, tan()
, asin()
, acos()
, atan()
und atan2()
erwarten (und liefern) Winkel in Radianten.
Da Menschen dazu neigen, in Grad zu denken, und einige Funktionen (wie z.B. CSS-Transformationen) Grad akzeptieren können, ist es eine gute Idee, Funktionen griffbereit zu halten, die zwischen den beiden umrechnen:
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 wissen, dass seine Seitenlänge 100 beträgt, können wir die Formeln verwenden, bei denen die Länge der Ankathete multipliziert mit dem Tangens des Winkels gleich der Gegenkathete ist.
In JavaScript können wir dies mit dem Folgenden tun:
50 * Math.tan(degToRad(60));
Wir verwenden unsere degToRad()
-Funktion, um 60 Grad in Radianten zu konvertieren, da Math.tan()
einen Eingabewert in Radianten erwartet.
Rückgabe eines zufälligen ganzzahligen Wertes zwischen zwei Grenzen
Dies kann mit einer Kombination aus Math.random()
und Math.floor()
erreicht werden:
function random(min, max) {
const num = Math.floor(Math.random() * (max - min + 1)) + min;
return num;
}
random(1, 10);
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-math-object |