Функція 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  

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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

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

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

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