二八进制表示法
- 八进制 前缀0o
- 二进制 前缀0b
- 转为十进制 使用Number方法
不支持数值分隔符(_)
- Number()
- parseInt()
- parseFloat()
Number.isFinite(), Number.isNaN()
- Number.isFinite()用来检查一个数值是否为有限的(finite),不是数值返回false
- Number.isNaN()用来检查一个值是否为NaN。
- Number.isNaN(9/NaN) // true
- Number.isNaN(‘true’ / 0) // true
- Number.isNaN(‘true’ / ‘true’) // true
Number.isInteger() 是否为整数
- 数值精度最多可以达到 53 个二进制位(1 个隐藏位与 52 个有效位)。如果数值的精度超过这个限度,第54位及后面的位就会被丢弃,这种情况下,Number.isInteger可能会误判。
- Number.isInteger(3.0000000000000002) // true
Number.EPSILON
- 表示 1 与大于 1 的最小浮点数之间的差。(最小误差范围)
Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER
这两个常量,用来表示这个范围的上下限
Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1 // true
Number.MAX_SAFE_INTEGER === 9007199254740991 // true
Number.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER // true
Number.MIN_SAFE_INTEGER === -9007199254740991 // true
Number.isSafeInteger()则是用来判断一个整数是否落在这个范围之内。
Math.trunc() 去除一个数的小数部分,返回整数部分。
- 非数值,先转数值
- 控制或无法截取整数的值,返回NAN
Math.sign方法
- 用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。
- 参数为正数,返回+1;
- 参数为负数,返回-1;
- 参数为 0,返回0;
- 参数为-0,返回-0;
- 其他值,返回NaN。