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
Namespace-Objekt 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 weder mit dem new
Operator verwenden noch das Math
Objekt als Funktion aufrufen. Alle Eigenschaften und Methoden von Math
sind statisch.
Hinweis:
Viele Math
Funktionen haben eine Präzision, die von der Implementierung abhängt.
Das bedeutet, dass verschiedene Browser unterschiedliche Ergebnisse liefern können. Sogar die gleiche JavaScript-Engine kann auf einem anderen Betriebssystem oder einer anderen Architektur unterschiedliche Ergebnisse liefern!
Statische Eigenschaften
Math.E
-
Die Eulersche Zahl und die 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
-
Zehner-Logarithmus von
E
; ungefähr0.434
. Math.LOG2E
-
Zweier-Logarithmus 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 initiale Wert der
[Symbol.toStringTag]
Eigenschaft ist der String"Math"
. Diese Eigenschaft wird inObject.prototype.toString()
verwendet.
Statische Methoden
Math.abs()
-
Gibt den Absolutwert des Eingabewerts zurück.
Math.acos()
-
Gibt den Arkuskosinus des Eingabewerts zurück.
Math.acosh()
-
Gibt den hyperbolischen Arkuskosinus des Eingabewerts zurück.
Math.asin()
-
Gibt den Arkussinus des Eingabewerts zurück.
Math.asinh()
-
Gibt den hyperbolischen Arkussinus einer Zahl zurück.
Math.atan()
-
Gibt den Arkustangens des Eingabewerts zurück.
Math.atan2()
-
Gibt den Arkustangens des Quotienten seiner Argumente zurück.
Math.atanh()
-
Gibt den hyperbolischen Arkustangens des Eingabewerts zurück.
Math.cbrt()
-
Gibt die Kubikwurzel des Eingabewerts zurück.
Math.ceil()
-
Gibt die kleinste ganze Zahl zurück, die größer oder gleich dem Eingabewert ist.
Math.clz32()
-
Gibt die Anzahl der führenden Null-Bits des 32-Bit-Integer-Eingabewerts zurück.
Math.cos()
-
Gibt den Kosinus des Eingabewerts zurück.
Math.cosh()
-
Gibt den hyperbolischen Kosinus des Eingabewerts 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 das Ergebnis der Subtraktion von
1
vonexp(x)
zurück. Math.floor()
-
Gibt die größte ganze Zahl zurück, die kleiner oder gleich dem Eingabewert ist.
Math.f16round()
-
Gibt die nächstliegende Half-Precision Gleitkommadarstellung des Eingabewerts zurück.
Math.fround()
-
Gibt die nächstliegende Single-Precision Gleitkommadarstellung des Eingabewerts 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 Eingabewerte zurück.
Math.log()
-
Gibt den natürlichen Logarithmus (㏒e; auch ㏑) des Eingabewerts zurück.
Math.log10()
-
Gibt den Zehner-Logarithmus des Eingabewerts zurück.
Math.log1p()
-
Gibt den natürlichen Logarithmus (㏒e; auch ㏑) von
1 + x
für die Zahlx
zurück. Math.log2()
-
Gibt den Zweier-Logarithmus des Eingabewerts zurück.
Math.max()
-
Gibt den größten von null oder mehr Zahlen zurück.
Math.min()
-
Gibt den kleinsten von null oder mehr Zahlen zurück.
Math.pow()
-
Gibt die Potenz
x
hochy
(das heißt,x
y
) zurück. Math.random()
-
Gibt eine pseudozufällige Zahl zwischen
0
und1
zurück. Math.round()
-
Gibt den Wert des Eingabewerts gerundet auf die nächste ganze Zahl zurück.
Math.sign()
-
Gibt das Vorzeichen des Eingabewerts zurück, das angibt, ob es positiv, negativ oder null ist.
Math.sin()
-
Gibt den Sinus des Eingabewerts zurück.
Math.sinh()
-
Gibt den hyperbolischen Sinus des Eingabewerts zurück.
Math.sqrt()
-
Gibt die positive Quadratwurzel des Eingabewerts zurück.
Math.sumPrecise()
-
Gibt die Summe einer übergebenen Iteration von Zahlen zurück und vermeidet dabei den Genauigkeitsverlust von Gleitkommazahlen in Zwischenergebnissen.
Math.tan()
-
Gibt den Tangens des Eingabewerts zurück.
Math.tanh()
-
Gibt den hyperbolischen Tangens des Eingabewerts zurück.
Math.trunc()
-
Gibt den ganzzahligen Teil des Eingabewerts zurück, wobei alle Nachkommastellen entfernt werden.
Beispiele
Umrechnen zwischen Grad und Bogengrad
Die trigonometrischen Funktionen sin()
, cos()
, tan()
, asin()
, acos()
, atan()
und atan2()
erwarten (und geben zurück) Winkel in Bogenmaß.
Da Menschen dazu neigen, in Grad zu denken, und einige Funktionen (wie CSS-Transformationen) Grad akzeptieren können, ist es eine gute Idee, Funktionen bereitzuhalten, die zwischen 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 ist, können wir die Formel verwenden: Länge der Ankathete multipliziert mit dem Tangens des Winkels ist gleich der Gegenkathete.
In JavaScript können wir dies mit folgendem Code umsetzen:
50 * Math.tan(degToRad(60));
Wir verwenden unsere degToRad()
Funktion, um 60 Grad in Bogenmaß umzurechnen, da Math.tan()
erwartet, dass der Eingabewert in Bogenmaß ist.
Rückgabe einer zufälligen Ganzzahl 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 |