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 Bogenmaß zurück. Um dieses in das Gradmaß umzurechnen, teilt man durch (Math.PI / 180) und multipliziert das Ergebnis mit der Bogenmaß.
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)
Gibt den ganzzahligen Teil der Zahl x, ohne jede Nachkommastellen, zurück.

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 () {
  if(arguments.length == 2) {
    if(arguments[1] == 0) {
      return arguments[0];
    } else {
      return Math.gcd(arguments[1], arguments[0] % arguments[1]);
    }
  } else if (arguments.length > 2) {
    var result = Math.gcd(arguments[0], arguments[1]);
    for (var i = 2; i < arguments.length; i++) {
      result = Math.gcd(result, arguments[i]);
    }
    return result;
  }
}

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.
Entwurf  

Browserkompatibilität

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

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

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