aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/global_objects/math/random/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
commit074785cea106179cb3305637055ab0a009ca74f2 (patch)
treee6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/javascript/reference/global_objects/math/random/index.html
parentda78a9e329e272dedb2400b79a3bdeebff387d47 (diff)
downloadtranslated-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/random/index.html')
-rw-r--r--files/ru/web/javascript/reference/global_objects/math/random/index.html110
1 files changed, 110 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/math/random/index.html b/files/ru/web/javascript/reference/global_objects/math/random/index.html
new file mode 100644
index 0000000000..7b25fda4d1
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/math/random/index.html
@@ -0,0 +1,110 @@
+---
+title: Math.random()
+slug: Web/JavaScript/Reference/Global_Objects/Math/random
+tags:
+ - JavaScript
+ - Math
+ - Method
+ - Reference
+ - Référence(2)
+translation_of: Web/JavaScript/Reference/Global_Objects/Math/random
+---
+<div>{{JSRef}}</div>
+
+<p>Метод <strong><code>Math.random()</code></strong> возвращает псевдослучайное число с плавающей запятой из диапазона <code>[0, 1)</code>, то есть, от 0 (включительно) до 1 (но не включая 1), которое затем можно отмасштабировать до нужного диапазона. Реализация сама выбирает начальное зерно для алгоритма генерации случайных чисел; оно не может быть выбрано или сброшено пользователем.</p>
+
+<p>{{EmbedInteractiveExample("pages/js/math-random.html")}}</p>
+
+<div class="note">
+<p><strong>Примечание:</strong> метод <code>Math.random()</code> <em>не предоставляет</em> криптографически стойкие случайные числа. Не используйте его ни для чего, связанного с безопасностью. Вместо него используйте Web Crypto API (API криптографии в вебе) и более точный метод {{domxref("RandomSource.getRandomValues()", "window.crypto.getRandomValues()")}}.</p>
+</div>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code>Math.random()</code></pre>
+
+<h3 id="Parameters" name="Parameters">Возвращаемое значение</h3>
+
+<p>Псевдослучайное число с плавающей запятой от <code>0</code> (включительно) до 1 (не считая).</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<p>Обратите внимание, что поскольку числа в JavaScript являются числами с плавающей запятой стандарта IEEE 754 с поведением при округлении к ближайшему чётному, все эти диапазоны (исключая диапазон с простым вызовом <code>Math.random()</code>), не точны. Если заданы очень большие границы (2<sup>53</sup> или выше), возможен <em>крайне</em> редкий случай вычисления обычно исключённой верхней границы.</p>
+
+<h3 id="Получение_случайного_числа_от_0_(включительно)_до_1_(не_включая)">Получение случайного числа от 0 (включительно) до 1 (не включая)</h3>
+
+<pre class="brush: js">function getRandom() {
+ return Math.random();
+}</pre>
+
+<h3 id="Получение_случайного_числа_в_заданном_интервале">Получение случайного числа в заданном интервале</h3>
+
+<p>Этот пример возвращает случайное число в заданном интервале. Возвращаемое значение не менее (и может быть равно) <code>min</code> и не более (и не равно) <code>max</code>.</p>
+
+<pre class="brush: js">function getRandomArbitrary(min, max) {
+ return Math.random() * (max - min) + min;
+}</pre>
+
+<h3 id="Получение_случайного_целого_числа_в_заданном_интервале">Получение случайного целого числа в заданном интервале</h3>
+
+<p>Этот пример возвращает случайное <em>целое </em>число в заданном интервале. Возвращаемое значение не менее <code>min</code> (или следующее целое число, которое больше <code>min</code>, если <code>min</code> не целое) и не более (но не равно) <code>max</code>.</p>
+
+<pre class="brush: js">function getRandomInt(min, max) {
+ min = Math.ceil(min);
+ max = Math.floor(max);
+ return Math.floor(Math.random() * (max - min)) + min; //Максимум не включается, минимум включается
+}</pre>
+
+<div class="blockIndicator note">
+<p>Может показаться заманчивым использовать <code>Math.round()</code> для округления, но это может сделать распределение неравномерным, что может оказаться неприемлимым для ваших нужд.</p>
+</div>
+
+<h3 id="Получение_случайного_целого_числа_в_заданном_интервале_включительно">Получение случайного целого числа в заданном интервале, включительно</h3>
+
+<p>Функция <code>getRandomInt()</code> выше включает минимальное значение, но не включает максимальное. Но что если вам нужно, чтобы влючалось и минимальное, и максимальное значение? Функция <code>getRandomIntInclusive()</code> решает этот вопрос.</p>
+
+<pre class="brush: js">function getRandomIntInclusive(min, max) {
+ min = Math.ceil(min);
+ max = Math.floor(max);
+ return Math.floor(Math.random() * (max - min + 1)) + min; //Максимум и минимум включаются
+}</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>{{SpecName('ES1')}}</td>
+ <td>{{Spec2('ES1')}}</td>
+ <td>Изначальное определение. JavaScript 1.0 (только UNIX) / JavaScript 1.1 (все платформы).</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.8.2.14', 'Math.random')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-math.random', 'Math.random')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-math.random', 'Math.random')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<p>{{Compat("javascript.builtins.Math.random")}}</p>
+
+<div></div>
+
+<div id="compat-mobile"></div>