JavaScript Math对象详解
编程小白也能懂的数学工具库
Math对象是JavaScript内置的数学工具库,它提供了一系列数学常数和函数,不需要创建实例就可以直接使用。下面我们将详细讲解Math对象的各个属性和方法。
Math是什么?
Math是JavaScript内置的一个数学工具对象,它提供了很多数学相关的属性和方法。
重要特点:
- 不需要创建Math实例(直接使用Math.xxx)
- 所有属性和方法都是静态的(直接调用)
- 提供数学常数(如π)和数学函数(如平方根)
// 使用示例
console.log(Math.PI); // 输出圆周率π ≈ 3.14159
console.log(Math.sqrt(16)); // 计算平方根,输出4
常用数学常数
Math对象提供了一些常用的数学常数:
Math.PI:圆周率π ≈
3.141592653589793
Math.E:自然对数的底e ≈
2.718281828459045
Math.LN2:2的自然对数 ≈
0.6931471805599453
Math.LN10:10的自然对数 ≈
2.302585092994046
Math.SQRT2:2的平方根 ≈
1.4142135623730951
Math.SQRT1_2:1/2的平方根 ≈
0.7071067811865476
这些常数都是只读的,不能修改。例如尝试修改Math.PI是无效的。
基本数学运算方法
Math.abs(x)
返回x的绝对值(正数)。
Math.abs(-5.5); // 返回5.5
Math.ceil(x)
向上取整:返回大于或等于x的最小整数。
Math.ceil(4.2); // 返回5
Math.ceil(-4.2); // 返回-4
Math.floor(x)
向下取整:返回小于或等于x的最大整数。
Math.floor(4.8); // 返回4
Math.floor(-4.8); // 返回-5
Math.round(x)
四舍五入:返回x四舍五入后的整数。
Math.round(4.4); // 返回4
Math.round(4.5); // 返回5
Math.round(-4.5); // 返回-4
指数与对数运算
Math.pow(x, y)
返回x的y次幂(xy)。
Math.pow(2, 3); // 2的3次方 = 8
Math.pow(4, 0.5); // 4的平方根 = 2
Math.sqrt(x)
返回x的平方根。
Math.sqrt(9); // 返回3
Math.sqrt(2); // 返回1.4142135623730951
Math.exp(x)
返回e的x次幂(ex)。
Math.log(x)
返回x的自然对数(以e为底)。
Math.log10(x) (ES6新增)
返回x的以10为底的对数。
三角函数方法
注意:JavaScript的三角函数使用弧度制而非角度制!
角度转弧度
function toRadians(degrees) {
return degrees * (Math.PI / 180);
}
Math.sin(x)
返回x(弧度)的正弦值。
Math.cos(x)
返回x(弧度)的余弦值。
Math.tan(x)
返回x(弧度)的正切值。
反三角函数
Math.asin(x)、Math.acos(x)、Math.atan(x) – 分别返回x的反正弦、反余弦、反正切值(弧度)
// 计算30度角的正弦值
Math.sin(toRadians(30)); // 返回0.5
最值与随机数
Math.max(x1, x2, …)
返回参数中的最大值。
Math.max(10, 20, 5); // 返回20
Math.min(x1, x2, …)
返回参数中的最小值。
Math.min(10, 20, 5); // 返回5
Math.random()
返回一个0到1之间的伪随机数(包括0,不包括1)。
// 生成0-9的随机整数
Math.floor(Math.random() * 10);
生成指定范围的随机整数公式:
Math.floor(Math.random() * (max - min + 1)) + min
Math方法可视化
四舍五入方法对比
数值: 4.2
Math.floor(4.2) = 4
Math.round(4.2) = 4
Math.ceil(4.2) = 5
数值: -4.2
Math.floor(-4.2) = -5
Math.round(-4.2) = -4
Math.ceil(-4.2) = -4
常用数学函数
Math.abs(-5.5) = 5.5
绝对值
Math.pow(2, 3) = 8
幂运算
Math.sqrt(16) = 4
平方根
Math.random()
随机数 ≈ 0.45