--- title: Math.log() slug: Web/JavaScript/Reference/Global_Objects/Math/log tags: - JavaScript - Math - Method - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Math/log ---
Метод Math.log()
возвращает натуральный (по основанию {{jsxref("Math.E", "e")}}) логарифм числа, то есть
Math.log(x)
x
Если значение x
меньше 0, возвращаемое значение всегда будет равным {{jsxref("Global_Objects/NaN", "NaN")}}.
Поскольку метод log()
является статическим методом объекта Math
, вы всегда должны использовать его как Math.log()
, а не пытаться вызывать метод на созданном экземпляре объекта Math
(поскольку объект Math
не является конструктором).
Math.log()
Math.log(-1); // NaN, выход за пределы диапазона Math.log(0); // -Infinity Math.log(1); // 0 Math.log(10); // 2.302585092994046
Math.log()
с различными основаниямиСледующая функция возвращает логарифм из y
по основанию x
(то есть, ):
function getBaseLog(x, y) { return Math.log(y) / Math.log(x); }
Если вы выполните getBaseLog(10, 1000)
, функция вернёт 2.9999999999999996
из-за особенностей округления чисел с плавающей запятой, что довольно близко к правильному ответу — 3.
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 1-е издание. | Стандарт | Изначальное определение. Реализована в JavaScript 1.0. |
{{SpecName('ES5.1', '#sec-15.8.2.10', 'Math.log')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-math.log', 'Math.log')}} | {{Spec2('ES6')}} |
{{Compat}}