Math 方法

1. 圆周率

在这里插入图片描述

2. 获取随机数字

0~1
在这里插入图片描述

a~b 之间的随机数

Math.randon() * (b-a) + a

3. 获取两个数较小值较大值

在这里插入图片描述

数组最小值

Math.min.apply(null, arr)

4. 向上取整,向下取整,四舍五入

在这里插入图片描述

5. 绝对值

在这里插入图片描述

6. 正弦,余弦,正切

弧度值表示
在这里插入图片描述

7. 次方,平方根

在这里插入图片描述

三.Math 对象的扩展

ES 6 在 Math 对象上新增与数学相关的方法。所有这些方法都是静态方法,只能在 Math 对象上调用。

1. 截取,保留整数部分 Math.trunc()

Math.trunc方法用于去除一个数的小数部分,返回整数部分。

Math.trunc(4.1) // 4
Math.trunc(4.9) // 4
Math.trunc(-4.1) // -4
Math.trunc(-4.9) // -4
Math.trunc(-0.1234) // -0

let a = 25;
let b = 12.25;
let c = 12.99;
console.log(Math.trunc(a));    // 25
console.log(Math.trunc(b));    // 12
console.log(Math.trunc(c));    // 12
  • 对于非数值,Math.trunc内部使用Number方法将其先转为数值。
  • 对于空值和无法截取整数的值,返回NaN
1.1 简写运算符
~~2.3
~~-2.3
2. Math.sign()

Math.sign方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。

它会返回五种值。

  • 参数为正数,返回+1
  • 参数为负数,返回-1
  • 参数为 0,返回0
  • 参数为-0,返回-0;
  • 其他值,返回NaN
Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign(NaN) // NaN

Math.sign('')  // 0
Math.sign(true)  // +1
Math.sign(false)  // 0
Math.sign(null)  // 0
Math.sign('9')  // +1
Math.sign('foo')  // NaN
Math.sign()  // NaN
Math.sign(undefined)  // NaN

如果是其他数据类型,比如字符串,布尔值,会先转成数字类型,在判断是整数还是负数,转不了就NaN

3. Math.cbrt()

Math.cbrt方法用于计算一个数的立方根。

对于非数值,Math.cbrt方法内部也是先使用Number方法将其转为数值。

Math.cbrt(-1) // -1
Math.cbrt(0)  // 0
Math.cbrt(1)  // 1
Math.cbrt(27)  // 3
4. Math.hypot()

Math.hypot方法返回所有参数的平方和的平方根。

直角三角形求斜边

Math.hypot(3, 4);        // 5
Math.hypot(3, 4, 5);     // 7.0710678118654755
Math.hypot();            // 0
Math.hypot(NaN);         // NaN
Math.hypot(3, 4, 'foo'); // NaN
Math.hypot(3, 4, '5');   // 7.0710678118654755
Math.hypot(-3);          // 3

四. 指数运算符

ES2016 新增了一个指数运算符(**)。

2 ** 2 // 4
2 ** 3 // 8

指数运算符可以与等号结合,形成一个新的赋值运算符(**=)。

let a = 1.5;
a **= 2;
// 等同于 a = a * a;

let b = 4;
b **= 3;
// 等同于 b = b * b * b;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值