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)
LN10(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
LN2(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
LOG10E(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
LOG2E(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(Ja)25Nein257.1
asin(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
asinh38(Ja)25Nein257.1
atan(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
atan2(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
atanh38(Ja)25Nein257.1
cbrt38(Ja)25Nein257.1
ceil(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
clz3238(Ja)31Nein25(Ja)
cos(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
cosh38(Ja)25Nein257.1
exp(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
expm138(Ja)25Nein257.1
floor(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
fround38(Ja)26Nein257.1
hypot38(Ja)27Nein257.1
imul28(Ja)20Nein167
log(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
log1038(Ja)25Nein257.1
log1p38(Ja)25Nein257.1
log238(Ja)25Nein257.1
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(Ja)25Nein259
sin(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
sinh38(Ja)25Nein257.1
sqrt(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
tan(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
tanh38(Ja)25Nein257.1
trunc38(Ja)25Nein257.1
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
E(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
LN10(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
LN2(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
LOG10E(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
LOG2E(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)(Ja)25Nein(Ja)8
asin(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
asinh(Ja)(Ja)(Ja)25Nein(Ja)8
atan(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
atan2(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
atanh(Ja)(Ja)(Ja)25Nein(Ja)8
cbrt(Ja)(Ja)(Ja)25Nein(Ja)8
ceil(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
clz32(Ja)(Ja)(Ja)31Nein(Ja)(Ja)
cos(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
cosh(Ja)(Ja)(Ja)25Nein(Ja)8
exp(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
expm1(Ja)(Ja)(Ja)25Nein(Ja)8
floor(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
fround(Ja)(Ja)(Ja)26Nein(Ja)8
hypot(Ja)(Ja)(Ja)27Nein(Ja)8
imul(Ja)(Ja)(Ja)20Nein(Ja)7
log(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
log10(Ja)(Ja)(Ja)25Nein(Ja)8
log1p(Ja)(Ja)(Ja)25Nein(Ja)8
log2(Ja)(Ja)(Ja)25Nein(Ja)8
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)(Ja)25Nein(Ja)(Ja)
sin(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
sinh(Ja)(Ja)(Ja)25Nein(Ja)8
sqrt(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
tan(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)(Ja)
tanh(Ja)(Ja)(Ja)25Nein(Ja)8
trunc(Ja)(Ja)(Ja)25Nein(Ja)8

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

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