JS基础--Math


什么是Math对象

Math 对象允许您执行数学任务。
Math 不是构造函数。Math 的所有属性/方法都可以通过使用 Math 作为对象来调用,而无需创建它:

Math对象属性

属性描述
E返回欧拉数(约 2.718)。
LN2返回 2 的自然对数(约 0.693)。
LN10返回 10 的自然对数(约 2.302)。
LOG2E返回 E 的以 2 为底的对数(约 1.442)。
LOG10E返回 E 的以 10 为底的对数(约 0.434)。
PI返回 PI(约 3.14)。
SQRT1_2返回 1/2 的平方根(约 0.707)。
SQRT2返回 2 的平方根(约 1.414)。

Math对象方法

属性描述
abs(x)返回 x 的绝对值。
acos(x)返回 x 的反余弦值,以弧度为单位。
acosh(x)返回 x 的双曲反余弦值。
asin(x)返回 x 的反正弦值,以弧度为单位。
asinh(x)返回 x 的双曲反正弦值。
atan(x)返回 x 的反正切值,返回的值是 -PI/2 到 PI/2 之间的弧度值。
atan2(y, x)返回其参数商的反正切值。
atanh(x)返回 x 的双曲反正切值。
cbrt(x)返回 x 的三次方根。
ceil(x)返回 x,向上舍入为最接近的整数。
clz32(x)返回 x 的 32 位二进制表示中前导零的数量。
cos(x)返回 x 的余弦值(x 以弧度为单位)。
cosh(x)返回 x 的双曲余弦值。
exp(x)返回 Ex 的值。
expm1(x)返回 Ex 减去 1 的值。
floor(x)返回 x,向下舍入为最接近的整数。
fround(x)返回数的最接近的(32 位单精度)浮点表示。
log(x)返回 x 的自然对数。
log10(x)返回 x 的以 10 为底的对数。
log1p(x)返回 1 + x 的自然对数。
log2(x)返回 x 的以 2 为底的对数。
max(x, y, z, …, n)返回值最高的数字。
min(x, y, z, …, n)返回值最小的数字。
pow(x, y)返回 x 的 y 次幂值。
random()返回 0 到 1 之间的随机数。
round(x)将 x 舍入为最接近的整数。
sign(x)返回数的符号(检查它是正数、负数还是零)。
sin(x)返回 x 的正弦值(x 以弧度为单位)。
sinh(x)返回 x 的双曲正弦值。
sqrt(x)返回 x 的平方根。
tan(x)返回角度的正切值。
tanh(x)返回数的双曲正切值。
trunc(x)返回数字 (x) 的整数部分。

常用的几个方法案例

ceil(x) 对数进行上舍入。
floor(x) 对数进行下舍入。
round(x) 把数四舍五入为最接近的整数。

			var a=66.18
			console.log(Math.ceil(a))
			console.log(Math.floor(a))
			console.log(Math.round(a))

在这里插入图片描述

cos(x) 返回数的余弦
sin(x) 返回数的正弦

//返回90度的正弦值
			var deg=Math.PI/180  //代表1度数,再JS中角度这个单位用Math.PI/180来表示
			var re=Math.sin(90*deg)
			console.log(re)

max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
sqrt(x) 返回数的平方根。

random() 方法返回从 0(含)到 1(不含)的随机数。

			var re=Math.random()//伪随机数	[0,1)
			console.log(re*10)//[0,10)	

在这里插入图片描述
如何表示一个随机-66到66之间的随机整数?

			console.log(Math.ceil(Math.random()*(66-(-66))+(-66)))

在这里插入图片描述

补充:
toFixed返回小数点后几位小数,参数表示具体几位小数
注意:取四舍五入值。

			var n=8.66
			var re=n.toFixed(1)
			var re2=n.toFixed(2)
			console.log(re)
			console.log(re2)

在这里插入图片描述
parseFloat返回字符串中的浮点数
parseInt返回字符串中的整数

			var re2=parseFloat("1239.23px123")
			console.log(re2)
			var re3=parseInt("1239.93px123")
			console.log(re3)

在这里插入图片描述

round对负数的四舍五入(重点)

round() 对负数比如:-11.5的这样处于小数中间值 .5 的四舍五入计算:
Math.round(-11.51) = -12
但是Math.round(-11.5) = -11;并不是 -12

Math.round()底层源码计算是:

public static long round(double a) {
    return (long)floor(a + 0.5d);
    }

可以看出,round()计算规则是:
返回最接近参数的 long.结果将舍入为整数:加上 0.5,对结果调用 floor 并将所得结果强制转换为 long 类型.
所以:
floor(-11.5+0.5) = -11;
floor(-11.51+0.5) = floo(-12.01) = -12
因此Math.round(-11.5) = -11,而不是 -12

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H5_ljy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值