Skip to main content

JS 内置对象之 Math

一、属性

1、PI

表示 π,圆的周长与直径的比例,约为 3.1415926535...

console.log(Math.PI)  // 3.141592653589793

2、E

表示 e,自然对数的底数,约为 2.718...

console.log(Math.E)  // 2.718281828459045

3、SQRT2

表示平方根,例如根号 2,约为 1.414...

console.log(Math.SQRT2)  // 1.4142135623730951

二、方法

1、abs

Math.abs(x)

功能:取绝对值。

参数:x(必须):计算的数值。

返回值:x 的绝对值,如果 x 非数字返回 NaN,如果 x 为 null 返回 0。

示例:

console.log(Math.abs(-1))   // 1
console.log(Math.abs('a')) // NaN
console.log(Math.abs(null)) // 0

2、round

Math.round()

功能:四舍五入。

参数:x(必须):计算的数值。

返回值:x 四舍五入后的整数。

示例:

console.log(Math.round(2.49))   // 2
console.log(Math.round(-2.49)) // -2
console.log(Math.round(2.5)) // 3
console.log(Math.round(-2.5)) // -2

注意:Math.round() 对负数四舍五入时,0.5 是靠 0 取整。

3、ceil

Math.ceil(x)

功能:向上取整。

参数:x(必须):计算的数值。

返回值:x 向上取整后的整数。

示例:

console.log(Math.ceil(2.49))   // 3
console.log(Math.ceil(-2.49)) // -2
console.log(Math.ceil(2.5)) // 3
console.log(Math.ceil(-2.5)) // -2

注意:这里的向上取整是指向数值大的一侧取整。

4、floor

Math.floor(x)

功能:向下取整。

参数:x(必须):计算的数值。

返回值:x 向下取整后的整数。

示例:

console.log(Math.floor(2.49))   // 2
console.log(Math.floor(-2.49)) // -3
console.log(Math.floor(2.5)) // 2
console.log(Math.floor(-2.5)) // -3

注意:这里的向下取整是指向数值小的一侧取整。

5、max

Math.max(value1[,value2, ...])

功能:查找一组数中的最大值。

参数:value1, value2, ...(必须):一组数值。

返回值:返回一组数中的最大值。

示例:

console.log(Math.max(15, 5, 10))      // 15
console.log(Math.max([15, 5, 10])) // NaN
console.log(Math.max(...[15, 5, 10])) // 15

6、min

Math.min(value1[,value2, ...])

功能:查找一组数中的最小值。

参数:value1, value2, ...(必须):一组数值。

返回值:返回一组数中的最小值。

示例:

console.log(Math.min(15, 5, 10))      // 5
console.log(Math.min([15, 5, 10])) // NaN
console.log(Math.min(...[15, 5, 10])) // 5

7、cbrt

Math.cbrt(x)

功能:计算任意数字的立方根。

参数:x(必须):任意数字。

返回值:返回给定数字的立方根。

示例:

console.log(Math.cbrt(2))         // 1.2599210498948732
console.log(Math.cbrt(0)) // 0
console.log(Math.cbrt(-0)) // -0
console.log(Math.cbrt(1)) // 1
console.log(Math.cbrt(-1)) // -1
console.log(Math.cbrt(NaN)) // NaN
console.log(Math.cbrt(null)) // 0
console.log(Math.cbrt(Infinity)) // Infinity
console.log(Math.cbrt(-Infinity)) // -Infinity

8、pow

Math.pow(x, y)

功能:计算 x 的 y 次幂。

参数:

  • x(必须):基数。
  • y(必须):指数。

返回值:返回 x 的 y 次幂。

示例:

console.log(Math.pow(2, 3))  // 8

扩展:ES6 新增指数快捷表示 **,注意这个运算符的特点是右结合,而非常见的左结合。多个指数运算符连用时,是从最右边开始计算的。

console.log(2 ** 2)       // 4
console.log(2 ** 3) // 8
console.log(2 ** 3 ** 2) // 512 相当于 2 ** (3 ** 2)

9、random

Math.random()

功能:生成 0 到 1(不包括)之间的随机数。

参数:

返回值:返回 0 到 1(不包括)之间的随机数。

示例:

console.log(Math.random())  // 0.11291835780686998
console.log(Math.random()) // 0.40532123201980097