Math称为数学函数,但是它属于对象类型的

  1. typeof Math => 'object'
  2. 复制代码

之所以叫做数学函数,是因为Math这个对象中提供了很多操作数字的方法

一、取绝对值

1、Math.abs()

  • 语法:Math.abs([number value]);
  • 定义:获取绝对值(绝对值永远是整数或者零)
  • 使用:Math.abs(-1);//=>1
  • 注意:传递的不是数字类型的值时:先基于Number()转换为数字在处理

二、取整数

2、Math.ceil()

  • 语法:Math.ceil([number value])
  • 定义:把一个数向上取整
  • 使用:
Math.ceil(1.2);//2
Math.ceil(1.5);//2
Math.ceil(-1.1);//-1
复制代码
  • 注意:无论是正数还是负数,都取最大那个值

3、Math.floor()

  • 语法:Math.floor([number value])
  • 定义:把一个数向下取整
  • 使用:
Math.floor(1.2);//1
Math.floor(-1.2);//-2
复制代码
  • 注意:无论是正数还是负数,都取最小那个值

4、Math.round()

  • 语法:Math.round([number value])
  • 定义:四舍五入
  • 使用:
Math.round(1.5);//2
Math.round(-1.5);//-1
Math.round(-1.51);//-2
复制代码
  • 注意:正数的话正常理解,但是如果是负数,它的临界值不再是0.5,只要比0.5大一丢丢,就可以进位。但如果是0.5就是舍

三、取最大/小值

5、Math.max()

  • 语法:Math.max([val1],[val2],...)

  • 定义:获取最大值

  • 使用:Math.max(1,2,3);//3

  • 注意:Math.max([1,2,3,4,5,6,7]);//=> NaN;

    • 此处是只传一个值,是个数组,跟内置的语法要求不符

6、Math.min()

  • 语法:Math.min([val1],[val2],...)
  • 定义:获取最小值
  • 使用:Math.min(1,2,3);//1

四、开方/幂

7、Math.sqrt()

  • 语法:Math.sqrt([number value]);

  • 定义:给一个数开平方

  • 使用:Math.sqrt(9)//=>3

    • 符合N*N=MM才能开整平方
    • 负数开不了平方

8、Math.pow()

  • 语法:Math.pow(n,m)

  • 定义:nm次幂

  • 使用:Math.pow(2,3);//=> 8

    • Math.pow(2,10);//=> 1024(程序员世界的整数)

五、取随机数

9、Math.random()

获取n~m之间的随机整数(包含n和m)n<m

  • Math.round(Math.random()*(m-n)+n);

六、圆周率

Math.PI

圆周率是Math的一个固定属性,不是一个方法

  • 3.141592653589793

6.Math中常用的9种方法 - 图1