Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. Math
  6. Math.random()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Math.random()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨июль 2015 г.⁩.

Статический методMath.random() возвращает псевдослучайное число с плавающей запятой, которое больше или равно нулю и меньше единицы с приблизительно равномерным распределением в этом диапазоне. В дальнейшем это число можно «отмасштабировать», привести к нужному диапазону. Выбор начального числа для алгоритма генерации случайных чисел происходит автоматически (зависит от реализации) и не может быть изменён пользователем.

Примечание:МетодMath.random()не предоставляет криптографически стойкие случайные числа. Не используйте его ни для чего, связанного с безопасностью. Для таких целей используйте Web Crypto API и более точный методwindow.crypto.getRandomValues().

Интерактивный пример

function getRandomInt(max) {  return Math.floor(Math.random() * max);}console.log(getRandomInt(3));// Expected output: 0, 1 or 2console.log(getRandomInt(1));// Expected output: 0console.log(Math.random());// Expected output: a number from 0 to <1

Синтаксис

js
Math.random()

Параметры

Нет.

Возвращаемое значение

Псевдослучайное число с плавающей запятой от 0 (включительно) до 1 (не включая).

Примеры

Обратите внимание, что поскольку числа в JavaScript являются числами с плавающей запятой стандарта IEEE 754 с округлением к ближайшему чётному, используемые в приведённых функциях диапазоны (исключая диапазон с простым вызовомMath.random()), не точны. Если заданы очень большие границы (253 или выше), возможенкрайне редкий случай достижения обычно исключённой верхней границы.

Получение случайного числа от 0 (включительно) до 1 (не включая)

js
function getRandom() {  return Math.random();}

Получение случайного числа в заданном интервале

Этот пример возвращает случайное число в заданном интервале. Возвращаемое значение не менее (и может быть равно)min и не более (и не равно)max.

js
function getRandomArbitrary(min, max) {  return Math.random() * (max - min) + min;}

Получение случайного целого числа в заданном интервале

Этот пример возвращает случайноецелое число в заданном интервале. Возвращаемое значение не менееmin (или следующее целое число, которое большеmin, еслиmin не целое) и не более (но не равно)max.

js
function getRandomInt(min, max) {  min = Math.ceil(min);  max = Math.floor(max);  return Math.floor(Math.random() * (max - min) + min); // Максимум не включается, минимум включается}

Примечание:Может показаться заманчивым использоватьMath.round() для округления, но это может сделать распределение неравномерным и оказаться не тем, что вам нужно.

Получение случайного целого числа в заданном интервале, включительно

ФункцияgetRandomInt() выше включает минимальное значение, но не включает максимальное. Но что если вам нужно, чтобы включалось и минимальное, и максимальное значение? ФункцияgetRandomIntInclusive() решает этот вопрос.

js
function getRandomIntInclusive(min, max) {  min = Math.ceil(min);  max = Math.floor(max);  return Math.floor(Math.random() * (max - min + 1) + min); // Максимум и минимум включаются}

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-math.random

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp