Math
类是 JavaScript 中内置的用于数学计算的对象,它包含了许多用于数学运算的属性和方法。
常见的用法:
数学常量:
Math.PI
:圆周率(约等于 3.14159)-
console.log(Math.PI.toString()); //3.141592653589793
取整方法:
Math.floor(x)
:向下取整,返回小于或等于x
的最大整数。-
console.log(Math.floor(3.8).toString());//3
Math.ceil(x)
:向上取整,返回大于或等于x
的最小整数。-
console.log(Math.ceil(3.2).toString());//4
Math.round(x)
:四舍五入取整。-
console.log(Math.round(3.5).toString());//4 console.log(Math.round(3.3).toString());//3
最大值和最小值:
Math.max(a, b, c,...)
:返回参数中的最大值。-
console.log(Math.max(5, 10, 15).toString());//15
Math.min(a, b, c,...)
:返回参数中的最小值。-
console.log(Math.min(5, 10, 15).toString());//5
随机数生成:
Math.random()
:返回一个介于 0(包括)和 1(不包括)之间的随机浮点数。-
console.log(Math.random().toString()); //0.9022647129362862
绝对值:
Math.abs(x)
:返回x
的绝对值。-
console.log(Math.abs(-5).toString());//5
幂运算和平方根:
Math.pow(x, y)
:返回x
的y
次幂。-
console.log(Math.pow(2, 3).toString);//8
Math.sqrt(x)
:返回x
的平方根。-
console.log(Math.sqrt(9).toString());//3
数学计算场景
-
生成指定范围内的随机整数
-
function getRandomInt(min:number, max:number) { return Math.floor(Math.random() * (max - min + 1)) + min; } console.log(getRandomInt(1, 10).toString()); //9
-
计算两点之间的距离
-
function distance(x1:number, y1:number, x2:number, y2:number) { return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)); } console.log(distance(0, 0, 3, 4).toString()); //5
-
角度与弧度的转换
-
function degreesToRadians(degrees: number) { return degrees * (Math.PI / 180); } // 弧度转角度 function radiansToDegrees(radians: number) { return radians * (180 / Math.PI); } console.log(degreesToRadians(90).toString()); //1.5707963267948966 console.log(radiansToDegrees(Math.PI / 2).toString()); //90
-
计算阶乘
-
function factorial(n:number):number { if (n === 0 || n === 1) { return 1; } else { return n * factorial(n - 1); } } console.log(factorial(5).toString()); //120
-
对数组中的数值进行数学运算
-
let numbers = [1, 2, 3, 4, 5]; // 计算数组元素的总和 let sum = numbers.reduce((acc, curr) => acc + curr, 0); console.log(sum.toString());//15 // 计算数组元素的平均值 let average = sum / numbers.length; console.log(average.toString());//3
-
数值的指数运算
-
console.log(Math.exp(1).toString());//2.718281828459045 console.log(Math.exp(2).toString());// 7.38905609893065
-
对数运算
-
// 自然对数 console.log(Math.log(Math.E).toString()); //1 // 以 10 为底的对数 console.log(Math.log10(100).toString());//2