Функція 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 Latest Draft (ECMA-262)
The definition of 'Math.log' in that specification.
Draft  

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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes1 Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 Yes Yes Yes

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

Мітки документа й учасники

Зробили внесок у цю сторінку: AdriandeCita
Востаннє оновлена: AdriandeCita,