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 Math.log()
statische Methode 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, verwenden Sie sie immer als Math.log()
und nicht als Methode eines von Ihnen erstellten Math
-Objekts (Math
ist kein Konstruktor).
Falls Sie den natürlichen Logarithmus von 2 oder 10 benötigen, verwenden Sie die Konstanten Math.LN2
oder Math.LN10
. Falls Sie einen Logarithmus zur Basis 2 oder 10 benötigen, verwenden Sie Math.log2()
oder Math.log10()
. Falls Sie einen Logarithmus zu anderen Basen benötigen, verwenden Sie Math.log(x) / Math.log(otherBase)
wie im folgenden Beispiel; es könnte sinnvoll sein, 1 / Math.log(otherBase)
vorab zu berechnen, da die Multiplikation in Math.log(x) * constant
wesentlich schneller ist.
Beachten Sie, dass positive Zahlen, die sehr nahe bei 1 liegen, an Genauigkeit verlieren können, was den natürlichen Logarithmus weniger präzise macht. In diesem Fall könnten Sie stattdessen 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
zur Basis x
zurück (d.h. ):
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x);
}
Wenn Sie getBaseLog(10, 1000)
ausführen, wird 2.9999999999999996
zurückgegeben, was aufgrund von Rundungsfehlern im Gleitkommaformat geschieht, aber immer noch sehr nahe am tatsächlichen Ergebnis von 3 liegt.
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-math.log |
Browser-Kompatibilität
BCD tables only load in the browser