数值的扩展
基本用法
- 进制表示法:
- 二进制:0b/0B
- 八进制:0x/0X,严格模式下,不能使用0开头
- 进制字符串转为十进制,使用Number(num)方法
- Number:
- Number.isFinite(num):非有限数值返回false,且不会发生隐形转换
- Number.isNaN(num):非NaN返回false,且不会发生隐形转换
- Number.parseInt/parseFloat(num):将全局方法移到Number中,减少全局性方法,使语言逐步模块化
- Number.isInteger:判断是否为整数,浮点数和整数相同为true;二进制位超过53位后发生精度丢失;绝对值小于MIN_VALUE会自动转为0;
- Number.EPSILON:表示大于1的最小浮点数与1的差值;表示最小精度;实质上是一个可以接受的误差范围,小于该值表示相等
- Number.MAX/MIN_SAFE_INTEGER:安全常量;超出该值无法精确表示;
- Number.isSafeInteger(num):非数字,或括号内表达式每项超过安全常量,则为false
- Number扩展:参数为空应当为null还是undefined
- Number.trunc(val):截取数值的整数部分;非数值使用Number()转为数值;NaN返回NaN;可使用ceil和floor模拟
- Number.sign(val):判断数值是正数(1),负数(-1),0(0),-0(-0),NaN(NaN),其他值(先转换再判断)
- Number.cbrt(val):计算数值的立方根;非数值使用Number转换;
- Number.clz32(val):将参数转为32位无符号整数,然后返回该数前导0的个数;发生隐式转换;