JavaScript Math(算数) 对象
                           
天天向上
发布: 2025-03-01 00:09:15

原创
168 人浏览过

在 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 引入)

返回数字的符号:-110

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)

返回 xy 次方。

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)

返回 ex 次方,即 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 计算三角形的面积

假设你有三角形的三边 abc,你可以使用赫伦公式来计算三角形的面积。

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 对象的方法和常量,你能够在开发中更加高效地进行各种数学相关的操作。

更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *