--- title: Math.log() slug: Web/JavaScript/Reference/Global_Objects/Math/log tags: - JavaScript - Math - Довідка - метод translation_of: Web/JavaScript/Reference/Global_Objects/Math/log ---
Функція Math.log() повертає натуральний логарифм (тобто за основою {{jsxref("Math.E", "e")}}) від числа, що являється:
Функція JavaScript Math.log() еквівелентна ln(x) у математиці.
Джерело цих інтерактивних прикладів зберігається у репозиторії на GitHub. Якщо ви маєте бажання зробити свій внесок у проект інтерактивних прикладів - будь ласка, зклонуйте репозиторій https://github.com/mdn/interactive-examples та пришліть нам pull request.
Math.log(x)
xНатуральний логарифм (за основою {{jsxref("Math.E", "e")}}) даного числа. Якщо число від'ємне - функція повертає {{jsxref("NaN")}}.
Якщо значення аргументу x від'ємне - функція завжди повертає {{jsxref("NaN")}}.
У зв'язку з тим, що log() - це статичний метод Math, слід завжди викликати його як Math.log(), аніж як метод створеного вами об'єкту Math (оскільки Math не являється конструктором).
Якщо вам потрібно отримати значення натурального логарифму від 2 чи 10, застосуйте вбудовані сталі {{jsxref("Math.LN2")}} чи {{jsxref("Math.LN10")}} . Якщо вам потрібно отримати значення логарифму за основою 2 чи 10 - використайте {{jsxref("Math.log2()")}} або {{jsxref("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 (тобто, ):
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x);
}
Щоправда, якщо ви виконаєте getBaseLog(10, 1000), вона поверне 2.9999999999999996 у зв'язку із округленням чисел із рухомою комою. Звісно, це з дуже великою точністю близько до дійсного результату в 3.
| Специфікація | Статус | Примітка |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Первинне визначення. Реалізовано у 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')}} | |
| {{SpecName('ESDraft', '#sec-math.log', 'Math.log')}} | {{Spec2('ESDraft')}} |
Таблиця сумісності на цій сторінці сформована автоматично із структурованих даних. Якщо ви маєте бажання зробити свій внесок до цих даних - будь-ласка, ось репозиторій https://github.com/mdn/browser-compat-data, надішліть нам свій pull request.
{{Compat("javascript.builtins.Math.log")}}