JS之Math对象

Math 和其他的对象不同,它不是一个构造函数,不需要创建对象。所以我们不需要 通过 new 来调用,而是直接使用里面的属性和方法即可。

一、常见方法

| 方法 | 描述 | 备注 |
|:-------------|:-------------|:-------------|
| Math.PI | 圆周率 | Math对象的属性 |
| Math.abs() | **返回绝对值** | |
| Math.floor() | **向下取整**(往小取值) | |
| Math.ceil() | **向上取整**(往大取值) | |
| Math.round() | 四舍五入取整(正数四舍五入,负数五舍六入) | |
| Math.random() | 生成0-1之间的**随机浮点数** | 取值范围是 [0,1) |
| Math.max(x, y, z) | 返回多个数中的最大值 | |
| Math.min(x, y, z) | 返回多个数中的最小值 | |
| Math.pow(x,y) | 返回 x 的 y 次幂 | |
| Math.sqrt() | 对一个数进行开方运算 | |

例:

```javascript
var num = -0.6;

console.log(Math.abs(num)); //取绝对值

console.log(Math.floor(num)); //向下取整,向小取

console.log(Math.ceil(num)); //向上取整,向大取

console.log(Math.round(num)); //四舍五入取整(正数四舍五入,负数五舍六入)

console.log(Math.random()); //生成0-1之间的随机数
```

运行结果:

```
0.6

-1

-0

-1

0.6453756205275165
```

1、Math.abs() 方法

方法定义:返回绝对值。

注意:

- 参数中可以接收字符串类型的数字,此时会将字符串做隐式类型转换,然后再调用 Math.abs() 方法。

2、Math.random() 方法

方法定义:生成 [0, 1) 之间的**随机浮点数**。

我们来看几个例子。

1)生成 [0, x) 之间的随机数

```javascript
Math.round(Math.random()*x)
```

2)生成 [x, y) 之间的随机数

```javascript
Math.round(Math.random()*(y-x)+x)
```

3)生成 [x, y]之间的随机整数

也就是说:生成两个整数之间的随机整数,**并且要包含这两个整数**。

这个功能很常用,我们可以将其封装成一个方法,代码实现如下:

```javascript
/*
* 生成两个整数之间的随机整数,并且要包含这两个整数
*/
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

console.log(getRandom(1, 10));
```

4)随机点名

根据上面的例子,我们还可以再延伸一下,来看看随机点名的例子。

```javascript
/*
* 生成两个整数之间的随机整数,并且要包含这两个整数
*/
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

const arr = ['A', 'B', 'C', 'D'];
const index = getRandom(0, arr.length - 1); // 生成随机的index
console.log(arr[index]); // 随机点名
```

3、 pow乘方

如果想计算 `a 的 b 次方`,可以使用如下函数:

```
Math.pow(a, b);
```

Math的中文是“数学”,pow是“power 幂”。

4、sqrt开方

如果想计算数值a的开二次方,可以使用如下函数:

```
Math.sqrt(a);
```

sqrt即“square 开方”。比如:

```
var a = Math.sqrt(36);
```

 

posted @ 2020-06-17 16:00  才华充电中  阅读(247)  评论(0编辑  收藏  举报