JavaScript中Math对象的一些常用API详解

本文详细介绍了JavaScript中Math对象的属性与方法,包括绝对值、三角函数、指数、对数、最大最小值等数学运算,以及ES6新增的sign和trunc方法,适用于初学者及需要查阅参考资料的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对象属性

属性描述
E返回算术常量 e,即自然对数的底数(约等于2.718)。
LN2返回 2 的自然对数(约等于0.693)。
LN10返回 10 的自然对数(约等于2.302)。
LOG2E返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。
LOG10E返回以 10 为底的 e 的对数(约等于0.434)。
PI返回圆周率(约等于3.14159)。
SQRT1_2返回 2 的平方根的倒数(约等于 0.707)。
SQRT2返回 2 的平方根(约等于 1.414)。

用法

console.log(Math.E)//2.718281828459045
console.log(Math.LN2)//0.6931471805599453
console.log(Math.LN10)//2.302585092994046
console.log(Math.LOG2E)//1.4426950408889634
console.log(Math.LOG10E)//0.4342944819032518
console.log(Math.PI)//3.141592653589793
console.log(Math.SQRT1_2)//0.7071067811865476
console.log(Math.SQRT2)//1.4142135623730951

对象方法

abs(x)

描述:返回 x 的绝对值
如果 x 不是数字返回 NaN,如果 x 为 null 返回 0。

Math.abs(-1.23);//1.23

acos(x)

描述: 返回 x 的反余弦值
x 必须是 -1.0 ~ 1.0 之间的数,如果参数 x 超过了 -1.0 ~ 1.0 的范围或者不为数字,那么浏览器将返回 NaN。
注意:x值若为null/false 都会转换为0计算

Math.acos(0.5);
//1.0471975511965979
Math.acos(null);
//1.5707963267948966(PI/2)
Math.acos(0);
//1.5707963267948966(PI/2)
Math.acos(false);
//1.5707963267948966(PI/2)
Math.acos(undefined);
//NaN

asin(x)

描述:返回 x 的反正弦值。
x 必须是 -1.0 ~ 1.0 之间的数,如果参数 x 超过了 -1.0 ~ 1.0 的范围或者不为数字,那么浏览器将返回 NaN。
注意:x值若为null/false 都会转换为0计算

Math.asin(0.5);
//0.5235987755982989
Math.asin(null);
//0
Math.asin(0);
//0
Math.asin(false);
//0
Math.asin(undefined);
//NaN

atan(x)

描述:以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:x值若为null/false 都会转换为0计算

Math.atan(2);
//1.1071487177940904
Math.atan(null);
//0
Math.atan(0);
//0
Math.atan(false);
//0
Math.atan(undefined);
//NaN

atan2(y,x)

描述:返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算

Math.atan2(8,4);
//1.1071487177940904
Math.atan2(undefined,2);
//NaN
Math.atan2(2,undefined);
//NaN

cos(x)

描述:返回数的余弦。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算

Math.cos(Math.PI);
//-1
Math.cos(2*Math.PI);
//1
Math.cos(null);
//1
Math.cos(false);
//1
Math.cos(undefined);
//NaN

sin(x)

描述: 返回数的正弦。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算

Math.sin(3);
//0.1411200080598672
Math.sin(-3);
//-0.1411200080598672
Math.sin(null);
//0
Math.sin(false);
//0
Math.sin(undefined);
//NaN

tan(x)

描述: 返回角的正切。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算

Math.sin(3);
//0.1411200080598672
Math.sin(-3);
//-0.1411200080598672
Math.sin(null);
//0
Math.sin(false);
//0
Math.sin(undefined);
//NaN

exp(x)

描述:返回 Ex 的指数。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算

Math.exp(1);
//2.718281828459045
Math.exp(0);
//1
Math.exp(null);
//1
Math.exp(false);
//1
Math.exp(undefined);
//NaN

pow(x,y)

描述:返回 x 的 y 次幂。
x、y 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算

Math.pow(4,3);
//64
Math.pow(4,0);
//1
Math.pow(4,-1);
//0.25 即1/4

sqrt(x)

描述: 返回数的平方根。
x 若小于0或不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算

Math.sqrt(4);
//2
Math.sqrt(-2);
//NaN

log(x)

描述: 返回数的自然对数(底为e)。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
注意:值若为null/false 都会转换为0计算
注意:如果 x 为负数,返回 NaN。
注意: 如果 x 为0,返回 -Infinity 。

Math.log(1);
//0
Math.log(Math.E);
//1
Math.log(null);
//-Infinity
Math.log(false);
//-Infinity
Math.log(undefined);
//NaN

ceil(x)

描述: 对数进行上舍入。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
**注意:值若为null/false 都会转换为0计算

Math.ceil(1.2)
//2
Math.ceil(-1.2)
//-1
Math.ceil(undefined);
//NaN

floor(x)

描述:对 x 进行下舍入。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
**注意:值若为null/false 都会转换为0计算

Math.floor(1.8)
//1
Math.floor(-1.8)
//-2
Math.floor(undefined);
//NaN

round(x)

描述:四舍五入。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
**注意:值若为null/false 都会转换为0计算

Math.round(1.8)
//2
Math.round(-1.2)
//-1
Math.round(undefined);
//NaN

random()

描述:返回 0 ~ 1 之间的随机数。
x 若不为数字类型(注意类型自动转换),那么浏览器将返回 NaN。
**注意:值若为null/false 都会转换为0计算

Math.random();
//取得介于 1 到 100 之间的一个随机数
Math.floor((Math.random()*100)+1);

max(x,y,z,…,n)

描述:返回 x,y,z,…,n 中的最高值。
**注意:值若为null/false 都会转换为0计算

Math.max(5,10);
//10
Math.max(5,10,NaN);
//NaN
Math.max(-1,null,false);
//0

min(x,y,z,…,n)

描述:返回 x,y,z,…,n中的最低值。
**注意:值若为null/false 都会转换为0计算

Math.min(5,10);
//5
Math.min(5,10,NaN);
//NaN
Math.min(-1,null,false);
//-1

es6新增的一些api(注意浏览器兼容)

sign()

描述:判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。
它会返回五种值。

.- 参数为正数,返回 +1
.- 参数为负数,返回 -1
.- 参数为 0,返回 0
.- 参数为-0,返回 -0;
.- 其他值,返回 NaN

Math.sign(-3) // -1
Math.sign(4) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign(NaN) // NaN

trunc()

描述:用于去除一个数的小数部分,返回整数部分。对于非数值,会先将其转换为数值。对于空值和无法截取整数的值,返回NaN。

Math.trunc(3.4) // 3
Math.trunc(-4.2) // -4
Math.trunc(-4.8) // -4
Math.trunc(-0.53421) // -0
Math.trunc('123.456') // 123
Math.trunc(true) //1
Math.trunc(null) // 0
Math.trunc(undefined) // NaN

本文章是本人学习了解所写,如有错误欢迎指出。
引用:https://www.runoob.com/jsref/jsref-obj-math.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值