JavaScript Guidebook

JavaScript 完全知识体系

Math 对象

Math 对象是 JavaScript 中内置的一个全局对象,它主要提供一些基本的、常用的数学函数和常数。

与其它全局对象不同的是,Math 对象不是一个构造函数,Math 对象的所有属性和方法都是静态的。

new Math(); // Uncaught TypeError: Math is not a constructor

属性

Math 对象的属性亦即数学上的常量。一共有 8 个常量,主要包括 对数圆周率平方根 三类

对数

属性说明
Math.E自然对数的底数,即数学常量 e 的值(约等于 2.71828)
Math.LN22 的自然对数(约等于 0.693)
Math.LN1010 的自然对数(约等于 2.303)
Math.LOG2E以 2 为底 e 的对数(约等于 1.443)
Math.LOG10E以 10 为底 e 的对数(约等于 0.434)

圆周率

属性说明
Math.PI圆周率 π(约等于 3.14159)

平方根

属性说明
Math.SQRT22 的平方根(约等于 1.414)
Math.SQRT1_20.5 的平方根,即 2 的平方根的倒数(约等于 0.707)

方法

Math 对象一共有 18 个静态方法,主要包括 最值舍入随机数绝对值三角函数乘方开方 6 类。

这些函数都涉及到 Number() 隐式类型转换,若超出范围,将返回 NaN

最值

函数说明
Math.max([value1 [, value2, ...]])返回一组数中的最大值。如果没有参数则返回 -Infinity。如果任意一个参数是 NaN 或不可转换为数字,则返回 NaN
Math.min([value1 [, value2, ...]])返回一组数中的最小值。如果没有参数则返回 Infinity。如果任意一个参数是 NaN 或不可转换为数字,则返回 NaN

舍入

函数说明
Math.ceil()返回大于或等于一个给定数字的最小整数。(执行向上取整运算)
Math.floor()返回小于或等于一个给定数字的最大整数。(执行向下取整运算)
Math.round()返回一个数字四舍五入后最接近的整数。

随机数

函数说明
Math.random()返回一个浮点数,伪随机数范围[0, 1),也就是说,从 0(包括 0)往上,但是不包括 1(排除 1),然后可以缩放到所需的范围。实现将初始种子选择到随机数生成算法,它不能被用户选择或重置。

绝对值

函数说明
Math.abs()返回参数数值的绝对值

乘方开方

函数说明示例
Math.exp(num)返回 自然对数的底数( 表示参数, 是欧拉常数)
Math.pow(base, exponent)获取基数 (base) 的指数次幂 (exponent)
Math.log(num)获取一个数值的自然对数
Math.sqrt(num)获取一个数值的平方根

三角函数

函数说明
Math.sin(num)返回一个数值的正弦值。
Math.cos(num)返回一个数值的余弦值。
Math.tan(num)返回一个数值的正切值。
Math.asin(num)返回一个数值的反正弦值。
Math.acos(num)返回一个数值的反余弦值。
Math.atan(num)返回一个数值的反正切值。
Math.atan2(num1, num2)返回一个数值的比值的反正切值。