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ähr2.303
. Math.LN2
-
Natürlicher Logarithmus von
2
; ungefähr0.693
. Math.LOG10E
-
Logarithmus zur Basis 10 von
E
; ungefähr0.434
. Math.LOG2E
-
Logarithmus zur Basis 2 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 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)
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 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 Zahlx
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 Potenzy
zurück (d.h.,x
y
). Math.random()
-
Gibt eine pseudorandomisierte Zahl zwischen
0
und1
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:
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.
In JavaScript können wir dies wie folgt tun:
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:
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