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