diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
| commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
| tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/javascript/reference/global_objects/math/index.html | |
| parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
| download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip | |
initial commit
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects/math/index.html')
| -rw-r--r-- | files/ru/web/javascript/reference/global_objects/math/index.html | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/math/index.html b/files/ru/web/javascript/reference/global_objects/math/index.html new file mode 100644 index 0000000000..337e2229b2 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/math/index.html @@ -0,0 +1,198 @@ +--- +title: Math +slug: Web/JavaScript/Reference/Global_Objects/Math +tags: + - JavaScript + - Math + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Math +--- +<div>{{JSRef("Global_Objects", "Math")}}</div> + +<p>Объект <strong><code>Math</code></strong> является встроенным объектом, хранящим в своих свойствах и методах различные математические константы и функции. Объект <code>Math</code> не является функциональным объектом.</p> + +<p><code>Math</code> не работает с числами типа {{jsxref("BigInt")}}.</p> + +<h2 id="Description" name="Description">Описание</h2> + +<p>В отличие от других глобальных объектов, объект <code>Math</code> не является конструктором. Все свойства и методы объекта <code>Math</code> являются статическими. Вы ссылаетесь на константу π через <code>Math.PI</code> и вызываете функцию синуса через <code>Math.sin(x)</code>, где <code>x</code> является аргументом метода. Константы в JavaScript определены с полной точностью действительных чисел.</p> + +<h2 id="Properties" name="Properties">Свойства</h2> + +<dl> + <dt>{{jsxref("Math.E")}}</dt> + <dd>Число Эйлера или Непера, основание натуральных логарифмов, приблизительно равное 2,718.</dd> + <dt>{{jsxref("Math.LN2")}}</dt> + <dd>Натуральный логарифм из 2, приблизительно равен 0,693.</dd> + <dt>{{jsxref("Math.LN10")}}</dt> + <dd>Натуральный логарифм из 10, приблизительно равен 2,303.</dd> + <dt>{{jsxref("Math.LOG2E")}}</dt> + <dd>Двоичный логарифм из E, приблизительно равен 1,443.</dd> + <dt>{{jsxref("Math.LOG10E")}}</dt> + <dd>Десятичный логарифм из E, приблизительно равен 0,434.</dd> + <dt>{{jsxref("Math.PI")}}</dt> + <dd>Отношение длины окружности круга к его диаметру, приблизительно равно 3,14159.</dd> + <dt>{{jsxref("Math.SQRT1_2")}}</dt> + <dd>Квадратный корень из 1/2; или, что тоже самое, 1, делённая на квадратный корень из 2, приблизительно равен 0,707.</dd> + <dt>{{jsxref("Math.SQRT2")}}</dt> + <dd>Квадратный корень из 2, приблизительно равен 1,414.</dd> +</dl> + +<h2 id="Methods" name="Methods">Методы</h2> + +<div class="note"> +<p>Обратите внимание, что тригонометрические функции (<code>sin()</code>, <code>cos()</code>, <code>tan()</code>, <code>asin()</code>, <code>acos()</code>, <code>atan()</code> и <code>atan2()</code>) принимают в параметрах или возвращают углы в радианах. Для преобразования радианов в градусы, поделите их на величину <code>(Math.PI / 180)</code>; для преобразования в обратном направлении, умножьте градусы на эту же величину.</p> +</div> + +<div class="note"> +<p>Обратите внимание, что точность большинства математических функций зависит от реализации. Это означает, что различные браузеры могут дать разные результаты, более того, даже один и тот же движок JavaScript на различных операционных системах или архитектурах может выдать разные результаты.</p> +</div> + +<dl> + <dt>{{jsxref("Global_Objects/Math/abs", "Math.abs(x)")}}</dt> + <dd>Возвращает абсолютное значение числа.</dd> + <dt>{{jsxref("Global_Objects/Math/acos", "Math.acos(x)")}}</dt> + <dd>Возвращает арккосинус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/acosh", "Math.acosh(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает гиперболический арккосинус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/asin", "Math.asin(x)")}}</dt> + <dd>Возвращает арксинус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/asinh", "Math.asinh(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает гиперболический арксинус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/atan", "Math.atan(x)")}}</dt> + <dd>Возвращает арктангенс числа.</dd> + <dt>{{jsxref("Global_Objects/Math/atanh", "Math.atanh(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает гиперболический арктангенс числа.</dd> + <dt>{{jsxref("Global_Objects/Math/atan2", "Math.atan2(y, x)")}}</dt> + <dd>Возвращает арктангенс от частного своих аргументов.</dd> + <dt>{{jsxref("Global_Objects/Math/cbrt", "Math.cbrt(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает кубический корень числа.</dd> + <dt>{{jsxref("Global_Objects/Math/ceil", "Math.ceil(x)")}}</dt> + <dd>Возвращает значение числа, округлённое к большему целому.</dd> + <dt>{{jsxref("Global_Objects/Math/clz32", "Math.clz32(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает количество ведущих нулей 32-битного целого числа.</dd> + <dt>{{jsxref("Global_Objects/Math/cos", "Math.cos(x)")}}</dt> + <dd>Возвращает косинус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/cosh", "Math.cosh(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает гиперболический косинус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/exp", "Math.exp(x)")}}</dt> + <dd>Возвращает E<sup>x</sup>, где <var>x</var> — аргумент, а E — число Эйлера (2,718…), основание натурального логарифма.</dd> + <dt>{{jsxref("Global_Objects/Math/expm1", "Math.expm1(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает <code>exp(x)</code>, из которого вычли единицу.</dd> + <dt>{{jsxref("Global_Objects/Math/floor", "Math.floor(x)")}}</dt> + <dd>Возвращает значение числа, округлённое к меньшему целому.</dd> + <dt>{{jsxref("Global_Objects/Math/fround", "Math.fround(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает ближайшее число с плавающей запятой <a href="https://ru.wikipedia.org/wiki/Число_одинарной_точности">одинарной точности</a>, представляюще это число.</dd> + <dt>{{jsxref("Global_Objects/Math/hypot", "Math.hypot([x[, y[, …]]])")}} {{experimental_inline}}</dt> + <dd>Возвращает квадратный корень из суммы квадратов своих аргументов.</dd> + <dt>{{jsxref("Global_Objects/Math/imul", "Math.imul(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает результат умножения 32-битных целых чисел.</dd> + <dt>{{jsxref("Global_Objects/Math/log", "Math.log(x)")}}</dt> + <dd>Возвращает натуральный логарифм числа (log<sub>e</sub>, также известен как ln).</dd> + <dt>{{jsxref("Global_Objects/Math/log1p", "Math.log1p(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает натуральный логарифм числа <code>1 + x</code> (log<sub>e</sub>, также известен как ln).</dd> + <dt>{{jsxref("Global_Objects/Math/log10", "Math.log10(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает десятичный логарифм числа.</dd> + <dt>{{jsxref("Global_Objects/Math/log2", "Math.log2(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает двоичный логарифм числа.</dd> + <dt>{{jsxref("Global_Objects/Math/max", "Math.max([x[, y[, …]]])")}}</dt> + <dd>Возвращает наибольшее число из своих аргументов.</dd> + <dt>{{jsxref("Global_Objects/Math/min", "Math.min([x[, y[, …]]])")}}</dt> + <dd>Возвращает наименьшее число из своих аргументов.</dd> + <dt>{{jsxref("Global_Objects/Math/pow", "Math.pow(x, y)")}}</dt> + <dd>Возвращает основание в степени экспоненты, то есть, значение выражения <code>основание<sup>экспонента</sup></code>.</dd> + <dt>{{jsxref("Global_Objects/Math/random", "Math.random()")}}</dt> + <dd>Возвращает псевдослучайное число в диапазоне от 0 до 1.</dd> + <dt>{{jsxref("Global_Objects/Math/round", "Math.round(x)")}}</dt> + <dd>Возвращает значение числа, округлённое до ближайшего целого.</dd> + <dt>{{jsxref("Global_Objects/Math/sign", "Math.sign(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает знак числа, указывающий, является ли число положительным, отрицательным или нулём.</dd> + <dt>{{jsxref("Global_Objects/Math/sin", "Math.sin(x)")}}</dt> + <dd>Возвращает синус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/sinh", "Math.sinh(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает гиперболический синус числа.</dd> + <dt>{{jsxref("Global_Objects/Math/sqrt", "Math.sqrt(x)")}}</dt> + <dd>Возвращает положительный квадратный корень числа.</dd> + <dt>{{jsxref("Global_Objects/Math/tan", "Math.tan(x)")}}</dt> + <dd>Возвращает тангенс числа.</dd> + <dt>{{jsxref("Global_Objects/Math/tanh", "Math.tanh(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает гиперболический тангенс числа.</dd> + <dt><code>Math.toSource()</code> {{non-standard_inline}}</dt> + <dd>Возвращает строку <code>"Math"</code>.</dd> + <dt>{{jsxref("Global_Objects/Math/trunc", "Math.trunc(x)")}} {{experimental_inline}}</dt> + <dd>Возвращает целую часть числа, убирая дробные цифры.</dd> +</dl> + +<h2 id="Расширение_объекта_Math">Расширение объекта <code>Math</code></h2> + +<p>Как и большинство встроенных объектов в Javascript, объект <code>Math</code> может быть расширен пользовательскими способами и методами. Чтобы расширить объект <code>Math</code>, не используют <code>prototype</code>. Вместо этого, расширяют <code>Math</code> напрямую: </p> + +<pre><code>Math.propName = propValue; +Math.methodName = methodRef;</code></pre> + +<p>Например, следующий код добавляет метод к объекту Math для вычисления наибольшего общего делителя списка аргументов.</p> + +<pre><code>/* Вариативная функция -- Возвращает наибольший общий делитель списка аргументов */ +Math.gcd = function() { + if (arguments.length == 2) { + if (arguments[1] == 0) + return arguments[0]; + else + return Math.gcd(arguments[1], arguments[0] % arguments[1]); + } else if (arguments.length > 2) { + var result = Math.gcd(arguments[0], arguments[1]); + for (var i = 2; i < arguments.length; i++) + result = Math.gcd(result, arguments[i]); + return result; + } +};</code></pre> + +<p>Попробуйте:</p> + +<pre><code>console.log(Math.gcd(20, 30, 15, 70, 40)); // `5`</code></pre> + +<h2 id="Specifications" name="Specifications">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарии</th> + </tr> + <tr> + <td>ECMAScript 1-е издание.</td> + <td>Стандарт</td> + <td>Изначальное определение. Реализована в JavaScript 1.1.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.8', 'Math')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-math-object', 'Math')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Добавлены новые методы: {{jsxref("Math.log10()", "log10()")}}, {{jsxref("Math.log2()", "log2()")}}, {{jsxref("Math.log1p()", "log1p()")}}, {{jsxref("Math.expm1()", "expm1()")}}, {{jsxref("Math.cosh()", "cosh()")}}, {{jsxref("Math.sinh()", "sinh()")}}, {{jsxref("Math.tanh()", "tanh()")}}, {{jsxref("Math.acosh()", "acosh()")}}, {{jsxref("Math.asinh()", "asinh()")}}, {{jsxref("Math.atanh()", "atanh()")}}, {{jsxref("Math.hypot()", "hypot()")}}, {{jsxref("Math.trunc()", "trunc()")}}, {{jsxref("Math.sign()", "sign()")}}, {{jsxref("Math.imul()", "imul()")}}, {{jsxref("Math.fround()", "fround()")}}, {{jsxref("Math.cbrt()", "cbrt()")}} и {{jsxref("Math.clz32()", "clz32()")}}.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-math-object', 'Math')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> + +<div class="hidden"> +<p>The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> +</div> + +<p>{{Compat("javascript.builtins.Math")}}</p> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{jsxref("Global_Objects/Number", "Number")}}</li> +</ul> |
