Math ist ein Standardobjekt, das Eigenschaften und Methoden für mathematische Konstanten und Funktionen besitzt. Es ist kein Funktionsobjekt.

Beschreibung

Im Unterschied zu den anderen globalen Objekten hat Math keinen Konstruktor. Alle Eigenschaften und Methoden von Math sind statisch. Um die Konstante Pi zu erreichen, wird Math.PI genutzt. Die Sinusfunktion wird mit Math.sin(x) ausgeführt, wobei x der Methodenparameter ist. Konstanten sind so präzise wie der Typ number in JavaScript.

Eigenschaften

Math.E
Eulersche Zahl und die Basis für den natürlichen Logarithmus (gerundet 2,718).
Math.LN2
Natürlicher Logarithmus von 2 (gerundet 0,693).
Math.LN10
Natürlicher Logarithmus von 10 (gerundet 2,303).
Math.LOG2E
Logarithmus zur Basis 2 von der Eulerschen Zahl (gerundet 1,443).
Math.LOG10E
Logarithmus zur Basis 10 von der Eulerschen Zahl (gerundet 0,434).
Math.PI
Kreiszahl Pi, welche als Verhältnis zwischen Kreisumfang und Durchmesser definiert ist (gerundet 3,14159).
Math.SQRT1_2
Quadratwurzel aus 1/2 oder 1 geteilt durch die Quadratwurzel von 2 (gerundet 0,707).
Math.SQRT2
Quadratwurzel aus 2 (gerundet 1,414).

Methoden

Anmerkung: Die trigonometrischen Funktionen (sin, cos, tan, asin, acos, atan, atan2) erwarten Parameter und geben Rückgabewerte im Radiantenmaß zurück. Um dieses in das Gradmaß umzurechnen, teilt man Math.PI durch 180 und multipliziert das Ergebnis mit der Radiantenangabe.
Anmerkung: Bei vielen mathematischen Funktionen ist die Präzision implementationsabhängig. Das bedeutet, dass es bei verschiedenen Browsern verschiedene Ergebnisse geben kann. Auch in der gleichen JavaScript-Umgebung auf verschiedenen Betriebssystemen oder Architekturen können Abweichungen entstehen.
Math.abs(x)
Gibt den Betrag einer Zahl zurück.
Math.acos(x)
Gibt den Arcus Cosinus einer Zahl zurück.
Math.acosh(x)
Gibt den Areacosinus Hyperbolicus einer Zahl zurück.
Math.asin(x)
Gibt den Arcus Sinus einer Zahl zurück.
Math.asinh(x)
Gibt den Areasinus Hyperbolicus einer Zahl zurück.
Math.atan(x)
Gibt den Arcus Tangens einer Zahl zurück.
Math.atanh(x)
Gibt den Areatangens Hyperbolicus einer Zahl zurück.
Math.atan2(y, x)
Gibt den Arcus Tangens aus dem Quotienten der Argumente zurück.
Math.cbrt(x)
Gibt die Kubikwurzel einer Zahl zurück.
Math.ceil(x)
Gibt die kleinste ganze Zahl zurück, die größer oder gleich dem Parameter ist.
Math.clz32(x)
Gibt die Anzahl der voranstehenden 0-Bits einer 32-Bit-Repräsentation zurück.
Math.cos(x)
Gibt den Cosinus einer Zahl zurück.
Math.cosh(x)
Gibt den Cosinus Hyperbolicus einer Zahl zurück.
Math.exp(x)
Gibt Ex zurück, wobei x der Parameter und E die Eulersche Zahl ist.
Math.expm1(x)
Gibt exp(x) - 1 zurück.
Math.floor(x)
Rundet eine Zahl auf eine ganze Zahl ab.
Math.fround(x)
Gibt die am nächsten liegende einfache genaue Gleitkommazahl des Parameters zurück.
Math.hypot([x[,y[,…]]])
Gibt die Quadratwurzel aus der Summe der quadrierten Parameterwerte zurück.
Math.imul(x)
Gibt das Ergebnis einer 32-Bit-Ganzzahlmultiplikation zurück.
Math.log(x)
Gibt den natürlichen Logarithmus (loge oder ln) einer Zahl zurück.
Math.log1p(x)
Gibt den natürlichen Logarithmus (loge oder ln) einer mit 1 addierten Zahl zurück.
Math.log10(x)
Gibt den Logarithmus zur Basis 10 einer Zahl zurück.
Math.log2(x)
Gibt den Logarithmus zur Basis 2 einer Zahl zurück.
Math.max([x[,y[,…]]])
Gibt die größte von null oder mehr Zahlen zurück.
Math.min([x[,y[,…]]])
Gibt die kleinste von null oder mehr Zahlen zurück.
Math.pow(x,y)
Gibt die Potenz zweier Zahlen zurück (xy).
Math.random()
Gibt eine Pseudozufallszahl zwischen 0 und 1 zurück.
Math.round(x)
Gibt den ganzzahlig gerundeten Wert des Parameters zurück.
Math.sign(x)
Gibt das Vorzeichen (positiv, negativ, 0) von x zurück.
Math.sin(x)
Gibt den Sinus einer Zahl zurück.
Math.sinh(x)
Gibt den Sinus Hyperbolicus einer Zahl zurück.
Math.sqrt(x)
Gibt die positive Quadratwurzel einer Zahl zurück.
Math.tan(x)
Gibt den Tangens einer Zahl zurück.
Math.tanh(x)
Gibt den Tangens Hyperbolicus einer Zahl zurück.
Math.toSource()
Gibt die Zeichenkette "Math" zurück.
Math.trunc(x)
Schneidet die Nachkommastellen einer Zahl ab.

Das Math Objekt erweitern

Wie die meisten der Standard-JavaScript Objekte kann auch das Math Objekt um benutzerdefinierten Eigenschaften und Methoden erweitert werden. Zum Erweitern des Math Objektes wird nicht 'prototype' genutzt. Stattdessen wird Math direkt erweitert.

Math.propName = propValue;
Math.methodName = methodRef;

Im folgenden Beispiel wird eine Methode zum Math Objekt hinzugefügt, welche den größten gemeinsamen Teiler von einer Liste von Argumenten ermittelt.

/* Variadic function -- Returns the greatest common divisor of a list of arguments */
Math.gcd = function () {
  var d = Math.min.apply(Math, arguments);
  for (let n = arguments.length, i = 0; d > 1 && n > i; arguments[i] % d === 0 ? i++ : (d--, i = 0));
  return d;
}

Zum Ausprobieren:

console.log(Math.gcd(20, 30, 15, 70, 40)); // `5`

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 1st Edition (ECMA-262) Standard Initiale Definition. Implementiert in JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Math' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Math' in dieser Spezifikation.
Standard Die neuen Methoden log10(), log2(), log1p(), expm1(), cosh(), sinh(), tanh(), acosh(), asinh(), atanh(), hypot(), trunc(), sign(), imul(), fround(), cbrt() und clz32() hinzugefügt.
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Math' in dieser Spezifikation.
Lebender Standard  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
E Ja Ja Ja Ja Ja Ja
LN2 Ja Ja Ja Ja Ja Ja
LN10 Ja Ja Ja Ja Ja Ja
LOG2E Ja Ja Ja Ja Ja Ja
LOG10E Ja Ja Ja Ja Ja Ja
PI Ja Ja Ja Ja Ja Ja
SQRT1_2 Ja Ja Ja Ja Ja Ja
SQRT2 Ja Ja Ja Ja Ja Ja
abs Ja Ja Ja Ja Ja Ja
acos Ja Ja Ja Ja Ja Ja
acosh38 Ja25 Nein258
asin Ja Ja Ja Ja Ja Ja
asinh38 Ja25 Nein258
atan Ja Ja Ja Ja Ja Ja
atan2 Ja Ja Ja Ja Ja Ja
atanh38 Ja25 Nein258
cbrt38 Ja25 Nein258
ceil Ja Ja Ja Ja Ja Ja
clz3238 Ja31 Nein25 Ja
cos Ja Ja Ja Ja Ja Ja
cosh38 Ja25 Nein258
exp Ja Ja Ja Ja Ja Ja
expm138 Ja25 Nein258
floor Ja Ja Ja Ja Ja Ja
fround38 Ja26 Nein258
hypot38 Ja27 Nein258
imul28 Ja20 Nein167
log Ja Ja Ja Ja Ja Ja
log1p38 Ja25 Nein258
log238 Ja25 Nein258
log1038 Ja25 Nein258
max Ja Ja Ja Ja Ja Ja
min Ja Ja Ja Ja Ja Ja
pow Ja Ja Ja Ja Ja Ja
random Ja Ja Ja Ja Ja Ja
round Ja Ja Ja Ja Ja Ja
sign38 Ja25 Nein259
sin Ja Ja Ja Ja Ja Ja
sinh38 Ja25 Nein258
sqrt Ja Ja Ja Ja Ja Ja
tan Ja Ja Ja Ja Ja Ja
tanh38 Ja25 Nein258
trunc38 Ja25 Nein258
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
E Ja Ja Ja Ja Ja Ja Ja
LN2 Ja Ja Ja Ja Ja Ja Ja
LN10 Ja Ja Ja Ja Ja Ja Ja
LOG2E Ja Ja Ja Ja Ja Ja Ja
LOG10E Ja Ja Ja Ja Ja Ja Ja
PI Ja Ja Ja Ja Ja Ja Ja
SQRT1_2 Ja Ja Ja Ja Ja Ja Ja
SQRT2 Ja Ja Ja Ja Ja Ja Ja
abs Ja Ja Ja Ja Ja Ja Ja
acos Ja Ja Ja Ja Ja Ja Ja
acosh Ja Ja Ja25 Nein Ja8
asin Ja Ja Ja Ja Ja Ja Ja
asinh Ja Ja Ja25 Nein Ja8
atan Ja Ja Ja Ja Ja Ja Ja
atan2 Ja Ja Ja Ja Ja Ja Ja
atanh Ja Ja Ja25 Nein Ja8
cbrt Ja Ja Ja25 Nein Ja8
ceil Ja Ja Ja Ja Ja Ja Ja
clz32 Ja Ja Ja31 Nein Ja Ja
cos Ja Ja Ja Ja Ja Ja Ja
cosh Ja Ja Ja25 Nein Ja8
exp Ja Ja Ja Ja Ja Ja Ja
expm1 Ja Ja Ja25 Nein Ja8
floor Ja Ja Ja Ja Ja Ja Ja
fround Ja Ja Ja26 Nein Ja8
hypot Ja Ja Ja27 Nein Ja8
imul Ja Ja Ja20 Nein Ja7
log Ja Ja Ja Ja Ja Ja Ja
log1p Ja Ja Ja25 Nein Ja8
log2 Ja Ja Ja25 Nein Ja8
log10 Ja Ja Ja25 Nein Ja8
max Ja Ja Ja Ja Ja Ja Ja
min Ja Ja Ja Ja Ja Ja Ja
pow Ja Ja Ja Ja Ja Ja Ja
random Ja Ja Ja Ja Ja Ja Ja
round Ja Ja Ja Ja Ja Ja Ja
sign Ja Ja Ja25 Nein Ja Ja
sin Ja Ja Ja Ja Ja Ja Ja
sinh Ja Ja Ja25 Nein Ja8
sqrt Ja Ja Ja Ja Ja Ja Ja
tan Ja Ja Ja Ja Ja Ja Ja
tanh Ja Ja Ja25 Nein Ja8
trunc Ja Ja Ja25 Nein Ja8

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123, Artist-sumo
 Zuletzt aktualisiert von: schlagi123,