Math
称为数学函数,但是它属于对象类型的
typeof Math => 'object'
复制代码
之所以叫做数学函数,是因为
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=M
的M
才能开整平方 - 负数开不了平方
- 符合
8、Math.pow()
语法:
Math.pow(n,m)
定义:
n
的m
次幂使用:
Math.pow(2,3);//=> 8
Math.pow(2,10);//=> 1024(程序员世界的整数)
五、取随机数
9、Math.random()
- 语法:Math.random()
- 定义:获取0到1之间的随机小数(不包含0和1)
- 使用:Math.random(); //0.8044608241261515此数为随机输出
- 拓展:
获取n~m之间的随机整数(包含n和m)n<m
- Math.round(Math.random()*(m-n)+n);
六、圆周率
Math.PI
圆周率是Math的一个固定属性,不是一个方法
- 3.141592653589793