# Math.random()

## BaselineWidely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

`Math.random()` 静态方法返回一个大于等于 0 且小于 1 的伪随机浮点数，并在该范围内近似均匀分布，然后你可以缩放到所需的范围。其实现将选择随机数生成算法的初始种子；它不能由用户选择或重置。

## 语法

js
``````Math.random()
``````

## 示例

### 得到一个大于等于 0 小于 1 之间的随机数

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

### 得到一个两数之间的随机数

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

### 得到一个两数之间的随机整数

js
``````function getRandomInt(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled); // 不包含最大值，包含最小值
}
``````

### 得到一个两数之间的随机整数，包括两个数在内

js
``````function getRandomIntInclusive(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled); // 包含最小值和最大值
}
``````

## 规范

Specification
ECMAScript Language Specification
# sec-math.random

## 浏览器兼容性

BCD tables only load in the browser