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 (Basis e) einer Zahl zurück. Das bedeutet
Probieren Sie es aus
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x);
}
// 2 x 2 x 2 = 8
console.log(getBaseLog(2, 8));
// Expected output: 3
// 5 x 5 x 5 x 5 = 625
console.log(getBaseLog(5, 625));
// Expected output: 4
Syntax
Math.log(x)
Parameter
x
-
Eine Zahl größer oder gleich 0.
Rückgabewert
Beschreibung
Da log()
eine statische Methode von Math
ist, wird es immer als Math.log()
verwendet und nicht als Methode eines 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 {{jsxref("Math.log2()}} oder {{jsxref("Math.log10()}}. Für Logarithmen zu anderen Basen verwenden Sie Math.log(x) / Math.log(otherBase)
wie im Beispiel unten; Sie könnten 1 / Math.log(otherBase)
vorab berechnen, da die Multiplikation in Math.log(x) * Konstante
viel schneller ist.
Beachten Sie, dass positive Zahlen, die sehr nah an 1 liegen, unter Präzisionsverlust leiden können, wodurch ihr natürlicher Logarithmus weniger genau wird. In diesem Fall sollten Sie möglicherweise Math.log1p
verwenden.
Beispiele
Verwendung von Math.log()
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
mit der Basis x
zurück (d.h. ):
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x);
}
Wenn getBaseLog(10, 1000)
ausgeführt wird, gibt es aufgrund von Rundungen im Gleitkomma 2.9999999999999996
zurück, was jedoch sehr nahe am tatsächlichen Ergebnis von 3 liegt.
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-math.log |