Math.log()

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.

Die statische Methode Math.log() gibt den natürlichen Logarithmus (zur Basis e) einer Zahl zurück. Das bedeutet

x>0,𝙼𝚊𝚝𝚑.𝚕𝚘𝚐(𝚡)=ln(x)=das eindeutige y so dass ey=x\forall x > 0,\;\mathtt{\operatorname{Math.log}(x)}} = \ln(x) = \text{das eindeutige } y \text{ so dass } e^y = x

Probieren Sie es aus

Syntax

js
Math.log(x)

Parameter

x

Eine Zahl größer oder gleich 0.

Rückgabewert

Der natürliche Logarithmus (zur Basis e) von x. Ist x ±0, wird -Infinity zurückgegeben. Ist x < 0, wird NaN zurückgegeben.

Beschreibung

Da log() eine statische Methode von Math ist, wird sie immer als Math.log() verwendet, anstatt als Methode eines selbst erstellten Math-Objekts (Math ist kein Konstruktor).

Wenn Sie den natürlichen Logarithmus von 2 oder 10 benötigen, verwenden Sie die Konstanten Math.LN2 oder Math.LN10. Wenn Sie einen Logarithmus zur Basis 2 oder 10 benötigen, verwenden Sie Math.log2() oder Math.log10(). Bei Bedarf eines Logarithmus zu anderen Basen, verwenden Sie Math.log(x) / Math.log(otherBase) wie im untenstehenden Beispiel; Sie könnten 1 / Math.log(otherBase) vorab berechnen, da die Multiplikation in Math.log(x) * constant erheblich schneller ist.

Beachten Sie, dass positive Zahlen, die sehr nahe bei 1 liegen, unter Präzisionsverlust leiden können, was ihren natürlichen Logarithmus weniger genau macht. In diesem Fall sollten Sie stattdessen Math.log1p verwenden.

Beispiele

Verwendung von Math.log()

js
Math.log(-1); // NaN
Math.log(-0); // -Infinity
Math.log(0); // -Infinity
Math.log(1); // 0
Math.log(10); // 2.302585092994046
Math.log(Infinity); // Infinity

Verwendung von Math.log() mit einer anderen Basis

Die folgende Funktion gibt den Logarithmus von y zur Basis x zurück (d.h. logxy\log_x y):

js
function getBaseLog(x, y) {
  return Math.log(y) / Math.log(x);
}

Wenn Sie getBaseLog(10, 1000) ausführen, wird 2.9999999999999996 aufgrund von Rundungsfehlern bei Gleitkommazahlen zurückgegeben, allerdings dennoch sehr nah am tatsächlichen Wert 3.

Spezifikationen

Specification
ECMAScript Language Specification
# sec-math.log

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch