js中的Math对象知识点整理

整理的都是我觉得比较常用的

Math 是一个内置对象, 它具有数学常数和函数的属性和方法。不是一个函数对象。与其它全局对象不同的是, Math 不是一个构造器.  Math 的所有属性和方法都是静态的. 

Math的属性

Math.PI

圆周率,一个圆的周长和直径之比,约等于 3.14159.

需要注意的是很多数学函数都有一个精度,并且精度在不同环境下也是不相同的。这就意味着不同的浏览器会给出不同的结果,甚至相同的 JS 引擎在不同的OS或者架构下也会给出不同的结果。


Math的方法

Math.abs(x)

返回x的绝对值.
Math.abs('-1');     // 1
Math.abs(-2);       // 2
Math.abs(null);     // 0
Math.abs("string"); // NaN
Math.abs();         // NaN

Math.ceil(x)

返回x向上取整后的值.
Math.ceil(.95);    // 1
Math.ceil(4);      // 4
Math.ceil(7.004);  // 8
Math.ceil(-0.95);  // -0
Math.ceil(-4);     // -4
Math.ceil(-7.004); // -7

Math.floor(x)

返回小于x的最大整数。
Math.floor( 45.95); 
// 45 
Math.floor( 45.05); 
// 45 
Math.floor( 4 ); 
// 4 
Math.floor(-45.05); 
// -46 
Math.floor(-45.95); 
// -46

Math.max([x[,y[,…]]])

返回0个到多个数值中最大值.(返回给定的一组数字中的最大值。如果有任一参数不能被转换为数值,则结果为 NaN。)

Math.max(10, 20);   //  20
Math.max(-10, -20); // -10
Math.max(-10, 20);  //  20

下面的方法使用 apply 方法寻找一个数值数组中的最大元素。

function Max(numArray) {
    return Math.max.apply(null, numArray);
}
或者通过使用最新的扩展语句,获得数组中的最大值变得更容易。
var arr = [1, 2, 3];

var max = Math.max(...arr);

看下面的例子

   function max(numArray){
       return  Math.max.apply(null,numArray);
   }
   var arr = [1,2,3];
   console.log(max(arr));//3
   console.log(Math.max(...arr));//3

Math.min([x[,y[,…]]])

返回0个到多个数值中最小值.(用法和Math.max()类似,所以就不啰嗦了)

Math.pow(x,y)

返回x的y次幂.

function pow(x,y) {
   return Math.pow(x,y)
}

看个小例子:

  function pow(x,y){
      return Math.pow(x,y);
  }
  console.log(pow(2,3));//8

Math.random()

返回0到1之间的伪随机数.

Math.random() 函数返回一个浮点,  伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。他不能被用户选择或重置。

得到一个大于等于0,小于1之间的随机数

function getRandom() {
  return Math.random();
}
得到一个两数之间的随机数

这个例子返回了一个在指定值之间的随机数。这个值不小于min(如果min不是整数的话,得到一个向上取整的 min),并且小于(但不等于)max

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
得到一个两数之间的随机整数

这个例子返回了一个在指定值之间的随机整数。这个值比min大(如果min不是整数,可能相等)

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min; 
}

得到一个两数之间的随机整数,包括两个数在内

function random(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min; 
}

Math.round(x)

返回四舍五入后的整数.

注意:如果参数的小数部分恰好等于0.5,则舍入到下一个正无穷方向的整数。

console.log(Math.round(0.5));//1
console.log(Math.round(12.5));//13
console.log(Math.round(-12.5));//-12
console.log(Math.round(-0.5));//0
需要注意的是三角函数(sin(), cos(), tan(),asin(), acos(), atan(), atan2())是以弧度返回值的。可以通过除法(Math.PI / 180)把弧度转换为角度,也可以通过其他方法来转换。

Math.sin(x)

sin 方法返回一个 -1 到 1 之间的数值,表示给定角度(单位:弧度)的正弦值。

Math.sin(0);           // 0
Math.sin(1);           // 0.8414709848078965

Math.sin(Math.PI / 2); // 1

Math.asin(x)

asin 方法接受 -1 到 1 之间的数值作为参数,返回一个介于 - π2  到  π2  弧度的数值。如果接受的参数值超出范围,则返回 NaN。

Math.asin(-2);  // NaN
Math.asin(-1);  // -1.5707963267948966 (-pi/2)
Math.asin(0);   // 0
Math.asin(0.5); // 0.5235987755982989
Math.asin(1);   // 1.570796326794897 (pi/2)
Math.asin(2);   // NaN

Math.cos(x)

cos 方法返回一个 -1 到 1 之间的数值,表示角度(单位:弧度)的余弦值。

Math.cos(0);           // 1
Math.cos(1);           // 0.5403023058681398

Math.cos(Math.PI);     // -1
Math.cos(2 * Math.PI); // 1

Math.acos(x)

acos 方法以 -1 到 1 的一个数为参数,返回一个 0 到 pi (弧度)的数值。如果传入的参数值超出了限定的范围,将返回 NaN。

Math.acos(-2);  // NaN
Math.acos(-1);  // 3.141592653589793
Math.acos(0);   // 1.5707963267948966
Math.acos(0.5); // 1.0471975511965979
Math.acos(1);   // 0
Math.acos(2);   // NaN

Math.tan(x)

tan 方法返回一个数值,表示一个角的正切值。

function tan(deg) {
   var rad = deg * Math.PI/180;
   return Math.tan(rad);
}
看个小例子


    function tan(deg) {
        var rad = deg * Math.PI/180;
        return Math.tan(rad);
    }
    console.log(tan(30));//0.5773502691896257

Math.atan2(y, x)

atan 返回一个 - π2  到  π2  弧度之间的数值。
Math.atan(1);  // 0.7853981633974483
Math.atan(0);  // 0
Math.atan2(y, x)
返回 y/x 的反正切值.

参考文章:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math

猜你喜欢

转载自blog.csdn.net/lhjuejiang/article/details/80778216