Die Math.log()
Funktion gibt den natürlichen Logarithmus (Logarithmus zur Basis e
) einer Zahl zurück. Das bedeutet
Syntax
Math.log(x)
Parameter
x
- Eine Zahl.
Rückgabewert
Der natürliche Logarithmus (Basis e
) der übergebenen Zahl. Wenn die Zahl negativ ist, wird NaN
zurückgegeben.
Beschreibung
Wenn der Wert von x
negativ ist, so gibt die Funktion immer NaN
zurück.
Weil log()
eine statische Funktion von Math
ist, wird es immer als Math.log()
eingesetzt,
jedoch nicht als Methode eines erzeugten Math
Objektes (Math
ist kein Konstruktor).
Wenn der natürliche Logarithmus von 2 und 10 gebraucht wird, gibt es die Konstanten Math.LN2
und Math.LN10
. Wenn ein Logarithmus zur Basis 2 oder 10 gebracht wird, gibt es die Funktionen Math.log2()
und Math.log10()
. Wenn der Logarithmus zu einer anderen Basis gebraucht wird, benutzt man Math.log(x) / Math.log(andereBasis) wie im Beispiel unten. Manchmal möchte man 1 / Math.log(andereBasis) vorberechnen.
Beispiele
Einsatz von Math.log()
Math.log(-1); // NaN, weil negativ Math.log(0); // -Infinity Math.log(1); // 0 Math.log(10); // 2.302585092994046
Einsatz von Math.log()
mit unterschiedlichen Basen
Die folgende Funktion gibt den Logarithmus von y
zur Basis x
zurück (logx y):
function getBaseLog(x, y) { return Math.log(y) / Math.log(x); }
Wenn getBaseLog(10, 1000)
ausgeführt wird, ist das Ergebnis 2.9999999999999996
. Diese Zahl ist nah an 3 und kommt durch Rundungsfehler bei Fließkommazahlen.
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initiale Definition. Implementiert in JavaScript 1.0. |
ECMAScript 5.1 (ECMA-262) Die Definition von 'Math.log' in dieser Spezifikation. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Math.log' in dieser Spezifikation. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'Math.log' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |