Math.log()

Функція Math.log() повертає натуральний логарифм (тобто за основою e) від числа, що являється:

x>0,Math.log(x)=ln(x)=такий унікальнийy,для якогоey=x\forall x > 0, \mathtt{\operatorname{Math.log}(x)} = \ln(x) = \text{the unique} \; y \; \text{such that} \; e^y = x

Функція JavaScript Math.log() еквівелентна ln(x) у математиці.

Синтаксис

Math.log(x)

Аргументи

x
Число.

Результат

Натуральний логарифм (за основою e) даного числа. Якщо число від'ємне - функція повертає NaN.

Опис

Якщо значення аргументу x від'ємне - функція завжди повертає NaN.

У зв'язку з тим, що log() - це статичний метод Math, слід завжди викликати його як Math.log(), аніж як метод створеного вами об'єкту Math (оскільки Math не являється конструктором).

Якщо вам потрібно отримати значення натурального логарифму від 2 чи 10, застосуйте вбудовані сталі Math.LN2 чи Math.LN10 .  Якщо вам потрібно отримати значення логарифму за основою 2 чи 10 - використайте Math.log2() або Math.log10() .  Якщо вам потрібен логарифм за іншою основою, використайте Math.log(x) / Math.log(іншаОснова), як у прикладі нижче; можливо вам також знадобиться попередньо обчислити 1 / Math.log(іншаОснова).

Приклади

Застосування Math.log()

Math.log(-1); // NaN, out of range
Math.log(0);  // -Infinity
Math.log(1);  // 0
Math.log(10); // 2.302585092994046

Застосування Math.log() з іншою основою

Наступна функція повертає логарифм від y за основою x (тобто, logxy\log_x y):

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

Щоправда, якщо ви виконаєте getBaseLog(10, 1000), вона поверне 2.9999999999999996 у зв'язку із округленням чисел із рухомою комою. Звісно, це з дуже великою точністю близько до дійсного результату в 3.

Специфікації

Специфікація Статус Примітка
ECMAScript 1st Edition (ECMA-262) Standard Первинне визначення. Реалізовано у JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Math.log' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Math.log' in that specification.
Standard  
ECMAScript (ECMA-262)
The definition of 'Math.log' in that specification.
Living Standard  

Підтримка у браузерах

BCD tables only load in the browser

Дивіться також