Math

262 阅读2分钟

描述

1.Math 是一个内置对象,她拥有一些数学常数属性和一些数学函数方法。
2.与其他全局变量不同的是,Math不是一个构造器。Math的所有属性和方法都是静态的。

属性

属性名含义
Math.E欧拉常数e 自然对数的底数 约等于2.718
Math.PI圆周率 约等于3.14159265358979

方法

注意:三角函数的返回值是弧度而非角度

数学运算方法
  • Math.abs(x)
    返回一个数的绝对值
    1.传入一个非数字形式的字符串、undefined、empty变量时,将返回NaN;
    2.传入Null时将返回0
  console.log(Math.abs(-123)); // 123
  console.log(Math.abs('-123')); // 123
  console.log(Math.abs('string'));//NaN
  console.log(Math.abs()); //NaN
  console.log(Math.abs(undefined));//NaN
  console.log(Math.abs(null));//0

  • Math.random()
    返回一个浮点数,伪随机数范围在[0,1);(一般是循环周期极长并能通过随机数检验的伪随机数,有独立性、均匀性...注意是有循环周期的,只是循环周期极长。即不要用它处理有关安全的事情);
    可以通过算法缩放范围;(取整数的时候,若使用Math.round()四舍五入取整,会使随机数处于一个不均匀的分布)
Math.floor(Math.random()*10)//[0,10)的整数
Math.floor(Math.random()*(10+1))//[0,10]的整数
Math.floor(Math.random()*((n-m)+1))+n//[n,m]的整数
  • Math.round(x) 返回一个数字四舍五入的整数,即当参数的小数部分恰好等于0.5时,舍入到相邻的正无穷大方向的整数;
  console.log(Math.round(3.5)); // 4
  console.log(Math.round(-3.5)) //-3
  console.log(Math.round(-3.51)) //-4
  console.log(Math.round(3.499)); //3
  • Math.ceil(x)
    返回一个大于或等于参数的整数,"向上取整"
  console.log(Math.ceil(1.2)); // 2
  console.log(Math.ceil(-1.9)); // -1
  console.log(Math.ceil(1.9)); // 2
  • Math.floor(x) 返回一个小于或等于参数的整数,“向下取整”
  console.log(Math.floor(1.1)); // 1
  console.log(Math.floor(1.9)); // 1
  console.log(Math.floor(-1.9)); // -2
  • Math.min(一组数值) 返回给定数值中最小的数。
    如果任一参数不能转换为数值,则返回NaN。
    如果没有参数,结果为Infinity。(个人理解为没有找到最小的数,即所有数都比正无穷大还大)
   console.log(Math.min(1,2,3,4,6,0,-1));// -1
   console.log(Math.min());//Infinity 正无穷大,
   console.log(Math.min([1,2,3])) //NaN

-Math.max(一组数值) 返回给定数值中最大的数。
如果任一参数不能转换为数值,则返回NaN。
如果没有参数,结果为-Infinity。

  console.log(Math.max(1,2,3,4,6,0,-1));// 6
  console.log(Math.max([1,2,3,4,5,6,7,8,9]))//NaN
  console.log(Math.max());//-Infinity 负无穷大