ES6-扩展
【String, RegExp, Array, Number, Function, Object】
数值的扩展
二进制和八进制的表示法
- 0b 0B 二进制
- 0o 0O 八进制
- Number('0B111') -> 10进制
- Number('0o111') -> 10进制
Number.isFinite(), Number.isNaN()
- Number.isFinite() 是否非无穷
- Number.isNaN 是否非数值
Number.parseInt(), Number.parseFloat()
全局方法转移到Number对象上面
Number.isInteger()
判断是否是整数 不过 3和3.0 视为同一个值,所以都是整数
Number.EPSILON
定义在Number上的一个极小常量值,引入目的用来设置可接受的误差范围
安全整数和Number.isSafeInteger()
javascript 能够准确表示的整数方位在-253到253[不包含两个端点], 超过这个范围,就无法精准表示这个值
Math.pow(2,53); //9007199254740992
引入两个常量表示数值的范围
Number.Max_SAFE_INTEGER Number.MIN_SAFE_INTEGER
Number.isSafeInteger用来判断数值是否在这个范围之内
Math对象的扩展
静态方法扩展
- Math.trunc() 去除小数部分
- Math.sign() 检测数值是 正数(1) 负数(-1) 0
- Math.cbrt() 计算立方根 Math.cbrt(8) = 2
- Math.clz32() 转换为32位的二进制表示
- Math.imul() 精度较大范围的计算结果
- Math.fround() 返回单精度浮点数形式
- Math.hypot 返回所有参数的平方和的平方根
- 对数方法
- Math.expm1() = Math.exp(x) - 1 ;
- Math.log1p() = Math.log(1 + x)
- Math.log10() 以10为底的x的对数
- Math.log2() 以2为底的x的对数
- 三角函数
- Math.sinh() 双曲正弦
- Math.cosh() 双曲余弦
- Math.tanh() 双曲正切
- Math.asinh() 反双曲正弦
- Math.acosh() 反双曲余弦
- Math.atanh() 反双曲正切
指数运算符
运算符 **
2**2 //4
2**3 //8