在 JavaScript 中,Math 对象 是一个内置的数学对象,提供了各种数学运算的方法和常量,帮助开发者执行基本的数学计算、生成随机数、进行数学常数的引用等。
Math 是一个内置对象,它不需要通过 new 操作符创建实例,直接使用即可。
1. Math 对象的常用常量
Math 对象提供了一些常见的数学常量。
1.1 Math.PI
表示圆周率π的常量,值为约 3.14159。
console.log(Math.PI); // 输出:3.141592653589793
1.2 Math.E
表示自然对数的底数 e,值为约 2.71828。
console.log(Math.E); // 输出:2.718281828459045
1.3 Math.LN2
表示 2 的自然对数,值为约 0.693。
console.log(Math.LN2); // 输出:0.6931471805599453
1.4 Math.LN10
表示 10 的自然对数,值为约 2.302。
console.log(Math.LN10); // 输出:2.302585092994046
1.5 Math.LOG2E
表示 e 的二进制对数,值为约 1.442。
console.log(Math.LOG2E); // 输出:1.4426950408889634
1.6 Math.LOG10E
表示 e 的十进制对数,值为约 0.434。
console.log(Math.LOG10E); // 输出:0.4342944819032518
1.7 Math.SQRT2
表示 2 的平方根,值为约 1.414。
console.log(Math.SQRT2); // 输出:1.4142135623730951
1.8 Math.SQRT1_2
表示 1/2 的平方根,值为约 0.707。
console.log(Math.SQRT1_2); // 输出:0.7071067811865476
1.9 Math.SIGN (ES2021 引入)
返回数字的符号:-1、1 或 0。
console.log(Math.sign(10)); // 输出:1
console.log(Math.sign(-10)); // 输出:-1
console.log(Math.sign(0)); // 输出:0
2. Math 对象的方法
2.1 Math.abs(x)
返回数值 x 的绝对值。
console.log(Math.abs(-5)); // 输出:5
console.log(Math.abs(5)); // 输出:5
2.2 Math.ceil(x)
返回大于或等于 x 的最小整数(向上取整)。
console.log(Math.ceil(4.1)); // 输出:5
console.log(Math.ceil(4.9)); // 输出:5
2.3 Math.floor(x)
返回小于或等于 x 的最大整数(向下取整)。
console.log(Math.floor(4.1)); // 输出:4
console.log(Math.floor(4.9)); // 输出:4
2.4 Math.round(x)
返回 x 四舍五入后的整数。
console.log(Math.round(4.1)); // 输出:4
console.log(Math.round(4.9)); // 输出:5
console.log(Math.round(4.5)); // 输出:5
2.5 Math.max(a, b, c, ...)
返回传入的一组数中的最大值。
console.log(Math.max(1, 2, 3, 4, 5)); // 输出:5
console.log(Math.max(-1, -2, -3)); // 输出:-1
2.6 Math.min(a, b, c, ...)
返回传入的一组数中的最小值。
console.log(Math.min(1, 2, 3, 4, 5)); // 输出:1
console.log(Math.min(-1, -2, -3)); // 输出:-3
2.7 Math.random()
返回一个 0 到 1 之间的随机浮动值(不包括 1)。
console.log(Math.random()); // 输出:随机的一个小于1的浮动数
2.8 Math.pow(x, y)
返回 x 的 y 次方。
console.log(Math.pow(2, 3)); // 输出:8 (2^3)
console.log(Math.pow(3, 2)); // 输出:9 (3^2)
2.9 Math.sqrt(x)
返回 x 的平方根。
console.log(Math.sqrt(9)); // 输出:3
console.log(Math.sqrt(16)); // 输出:4
2.10 Math.cbrt(x)
返回 x 的立方根(cube root)。
console.log(Math.cbrt(8)); // 输出:2
console.log(Math.cbrt(27)); // 输出:3
2.11 Math.trunc(x)
返回 x 去除小数部分后的整数。
console.log(Math.trunc(4.9)); // 输出:4
console.log(Math.trunc(-4.9)); // 输出:-4
2.12 Math.sin(x)、Math.cos(x)、Math.tan(x)
这些方法分别返回 x 的正弦、余弦和正切值,其中 x 必须以弧度为单位。
console.log(Math.sin(Math.PI / 2)); // 输出:1
console.log(Math.cos(Math.PI)); // 输出:-1
console.log(Math.tan(Math.PI / 4)); // 输出:1
2.13 Math.log(x)
返回 x 的自然对数(以 e 为底)。
console.log(Math.log(1)); // 输出:0 (因为 ln(1) = 0)
console.log(Math.log(Math.E)); // 输出:1 (因为 ln(e) = 1)
2.14 Math.log10(x)
返回 x 的以 10 为底的对数。
console.log(Math.log10(100)); // 输出:2 (因为 log10(100) = 2)
2.15 Math.exp(x)
返回 e 的 x 次方,即 e^x。
console.log(Math.exp(1)); // 输出:2.718281828459045 (e^1)
console.log(Math.exp(2)); // 输出:7.3890560989306495 (e^2)
3. 实战案例:使用 Math 对象生成随机数
3.1 生成 1 到 100 之间的随机整数
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandomInt(1, 100)); // 输出:一个 1 到 100 之间的随机整数
3.2 生成指定范围内的随机浮动数
function getRandomFloat(min, max) {
return Math.random() * (max - min) + min;
}
console.log(getRandomFloat(1.5, 5.5)); // 输出:一个 1.5 到 5.5 之间的随机浮动数
3.3 计算三角形的面积
假设你有三角形的三边 a、b、c,你可以使用赫伦公式来计算三角形的面积。
function calculateArea(a, b, c) {
const s = (a + b + c) / 2; // 半周长
const area = Math.sqrt(s * (s - a) * (s - b) * (s - c)); // 赫伦公式
return area;
}
console.log(calculateArea(3, 4, 5)); // 输出:6(三角形面积)
4. 总结
JavaScript 的 Math 对象提供了强大的数学功能,不仅包括基本的算术运算,还包括更多高级的
数学计算,例如对数、三角函数、随机数生成等。通过熟悉 Math 对象的方法和常量,你能够在开发中更加高效地进行各种数学相关的操作。
更多详细内容请关注其他相关文章!