JS Math(数学)对象

 
Math 是 JavaScript 中的一个内置对象,其中提供了一些数学中常用的常量值和函数,用来实现一些数学中常见计算,例如计算平均数、求绝对值、四舍五入等。

与前面介绍的几个对象(例如 Number 对象、String 对象、Array 对象等)不同,调用 Math 对象中的属性和方法无需预先使用 new 运算符来创建它,直接将 Math 作为对象调用即可,例如:

var pi_val = Math.PI;                 // 数学中 π 的值:3.141592653589793
var abs_val = Math.sin(-5.35);  // -5.35 的绝对值:5.35

Math 对象中的属性

下表中列举了 Math 对象中提供的属性及其描述信息:

属性 描述
E 返回算术常量 e,即自然对数的底数(约等于 2.718)
LN2 返回 2 的自然对数(约等于 0.693)
LN10 返回 10 的自然对数(约等于 2.302)
LOG2E 返回以 2 为底的 e 的对数(约等于 1.443)
LOG10E 返回以 10 为底的 e 的对数(约等于 0.434)
PI 返回圆周率 π(约等于 3.14159)
SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)
SQRT2 返回 2 的平方根(约等于 1.414)

示例代码如下:
document.write(Math.E + "<br>");            // 输出:2.718281828459045
document.write(Math.LN2 + "<br>");          // 输出:0.6931471805599453
document.write(Math.LN10 + "<br>");         // 输出:2.302585092994046
document.write(Math.LOG2E + "<br>");        // 输出:1.4426950408889634
document.write(Math.LOG10E + "<br>");       // 输出:0.4342944819032518
document.write(Math.PI + "<br>");           // 输出:3.141592653589793
document.write(Math.SQRT1_2 + "<br>");      // 输出:0.7071067811865476
document.write(Math.SQRT2 + "<br>");        // 输出:1.4142135623730951

Math 对象中的方法

下表中列举了 Math 对象中提供的方法及其描述信息:

方法 描述
abs(x) 返回 x 的绝对值
acos(x) 返回 x 的反余弦值
acosh(x) 返回 x 的反双曲余弦值
asin(x) 返回 x 的反正弦值
asinh(x) 返回 x 的反双曲正弦值
atan(x) 返回 x 的反正切值
atanh(x) 返回 x 的反双曲正切值
atan2(y,x) 返回 y/x 的反正切值
cbrt(x) 返回 x 的立方根
ceil(x) 对 x 进行向上取整,即返回大于 x 的最小整数
clz32(x) 返回将 x 转换成 32 无符号整形数字的二进制形式后,开头 0 的个数
cos(x) 返回 x 的余弦值
cosh(x) 返回 x 的双曲余弦值
exp(x) 返回算术常量 e 的 x 次方,即 Ex
expm1(x) 返回 exp(x) - 1 的值
floor(x) 对 x 进行向下取整,即返回小于 x 的最大整数
fround(x) 返回最接近 x 的单精度浮点数
hypot([x, [y, [...]]]) 返回所有参数平方和的平方根
imul(x, y) 将参数 x、y 分别转换位 32 位整数,并返回它们相乘后的结果
log(x) 返回 x 的自然对数
log1p(x) 返回 x 加 1 后的自然对数
log10(x) 返回 x 以 10 为底的对数
log2(x) 返回 x 以 2 为底的对数
max([x, [y, [...]]]) 返回多个参数中的最大值
min([x, [y, [...]]]) 返回多个参数中的最小值
pow(x,y) 返回 x 的 y 次幂
random() 返回一个 0 到 1 之间的随机数
round(x) 返回 x 四舍五入后的整数
sign(x) 返回 x 的符号,即一个数是正数、负数还是 0
sin(x) 返回 x 的正弦值
sinh(x) 返回 x 的双曲正弦值
sqrt(x) 返回 x 的平方根
tan(x) 返回 x 的正切值
tanh(x) 返回 x 的双曲正切值
toSource() 返回字符串"Math"
trunc(x) 返回 x 的整数部分
valueOf() 返回 Math 对象的原始值

示例代码如下:
document.write(Math.abs(-3.1415) + "<br>");             // 输出:3.1415
document.write(Math.acos(0.5) + "<br>");                // 输出:1.0471975511965979
document.write(Math.ceil(1.45) + "<br>");               // 输出:2
document.write(Math.exp(1) + "<br>");                   // 输出:2.718281828459045
document.write(Math.floor(5.99) + "<br>");              // 输出:5
document.write(Math.log(6) + "<br>");                   // 输出:1.791759469228055
document.write(Math.max(4, 8, 1, 9) + "<br>");          // 输出:9
document.write(Math.min(4, 8, 1, 9) + "<br>");          // 输出:1
document.write(Math.random() + "<br>");                 // 输出:0.9172594288928195
document.write(Math.pow(2, 3) + "<br>");                // 输出:8
document.write(Math.sign(-123) + "<br>");               // 输出:-1
document.write(Math.sqrt(125) + "<br>");                // 输出:11.180339887498949