JavaScript Math 对象详解:属性、方法与实用技巧

作者:青柠

时间:2026-10-30

浏览:100

本文详细介绍 JavaScript 中 Math 对象的特性,包括其作为静态对象而非构造函数的定义。内容涵盖 Math.E、Math.PI 等常用常量,以及 min、max、round、random 等核心方法的使用。此外,还提供了利用 Math 对象查找数组极值、生成指定范围随机整数等实用代码示例,帮助开发者高效进行数值处理。

文章目录

开门必读

与其他对象不同,Math 是一个静态对象,并非构造函数。它实际上是由 JavaScript 提供的一个对象命名空间,专门用于存放各种数学相关的函数。

属性

Math.E 表示自然对数的底数,即常数 e 的值(约为 2.718)。 Math.PI 表示圆周率 π 的值(约为 3.14159)。 console.log(Math.E);//输出结果为 2.718281828459045 console.log(Math.PI);//输出结果为 3.141592653589793 Math.LN2 表示 2 的自然对数(约为 0.693)。 Math.LN10 表示 10 的自然对数(约为 2.302)。 Math.LOG2E 表示以 2 为底 e 的对数(约为 1.414)。 Math.LOG10E 表示以 10 为底 e 的对数(约为 0.434)。 console.log(Math.LN2);//输出结果为 0.6931471805599453 console.log(Math.LN10);//输出结果为 2.302585092994046 console.log(Math.LOG2E);//输出结果为 1.4426950408889634 console.log(Math.LOG10E);//输出结果为 0.4342944819032518 Math.SQRT2 表示 2 的平方根(约为 1.414)。 Math.SQRT1_2 表示 1/2 的平方根,也就是 2 的平方根的倒数(约为 0.707)。 console.log(Math.SQRT2);//输出结果为 1.4142135623730951 console.log(Math.SQRT1_2);//输出结果为 0.7071067811865476

方法

这些方法在执行时都会涉及 Number() 的隐式类型转换;如果计算结果超出方法的处理范围,将返回 NaN。

Math.min() 用于返回一组数字中的最小值。 Math.max() 用于返回一组数字中的最大值。 console.log(Math.min(1,2,3));//输出结果为 1 console.log(Math.max(1,2,3));//输出结果为 3 Math.ceil(num) 将数字向上舍入为最接近的整数。 Math.floor(num) 将数字向下舍入为最接近的整数。 Math.round(num) 将数字四舍五入为最接近的整数。 console.log(Math.ceil(12.6));//输出结果为 13 console.log(Math.floor(12.6));//输出结果为 12 console.log(Math.round(12.6));//输出结果为 13 Math.abs(num) 返回数字的绝对值。 Math.random() 返回一个大于等于 0 且小于 1 的随机数。 console.log(Math.abs(-10));//输出结果为 10 console.log(Math.random());//输出示例为 0.741887615993619 Math.exp(num) 返回 Math.E 的 num 次幂。 Math.log(num) 返回数字的自然对数(底数为 e)。 Math.sqrt(num) 返回数字的平方根(num 必须大于等于 0)。 Math.pow(num,power) 返回 num 的 power 次幂。 console.log(Math.exp(0));//输出结果为 1 console.log(Math.log(10));//输出结果为 2.302585092994046 console.log(Math.sqrt(100));//输出结果为 10 console.log(Math.pow(10,2));//输出结果为 100 Math.sin(x) 返回数字的正弦值。 Math.cos(x) 返回数字的余弦值。 Math.tan(x) 返回数字的正切值。 Math.asin(x) 返回数字的反正弦值(x 必须在 -1 到 1 之间)。 Math.acos(x) 返回数字的反余弦值(x 必须在 -1 到 1 之间)。 Math.atan(x) 返回数字的反正切值。 Math.atan2(y,x) 返回 y/x 的反正切值。 console.log(Math.sin(30*Math.PI/180));//输出结果为 0.49999999999999994 console.log(Math.cos(60*Math.PI/180));//输出结果为 0.5000000000000001 console.log(Math.tan(45*Math.PI/180));//输出结果为 0.9999999999999999 console.log(Math.asin(1)*180/Math.PI);//输出结果为 90 console.log(Math.acos(1)*180/Math.PI);//输出结果为 0 console.log(Math.atan(1)*180/Math.PI);//输出结果为 45 console.log(Math.atan2(1,1)*180/Math.PI);//输出结果为 45

tips

[tips1]找到数组中的最大或最小值


var values = [1,2,3,4,5,6,7,8];
var max = Math.max.apply(Math,values);//8 

[tips2]从某个整数范围内随机选择一个值


value = Math.floor(Math.random()*可能值的总数 + 第一个可能的值)

[tips3]通过最小值和最大值随机选择一个值


function selectFrom(lowerValue,upperValue){
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random()*choices + lowerValue);
}
var num = selectFrom(2,10);
console.log(num); 

Math 对象方法

方法 描述
abs(x) 返回数的绝对值。
acos(x) 返回数的反余弦值。
asin(x) 返回数的反正弦值。
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x) 对数进行上舍入。
cos(x) 返回数的余弦。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
toSource() 返回该对象的源代码。
valueOf() 返回 Math 对象的原始值。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章