- Number.isNaN() (参数类型不是数值,一律返回false)
此方法的作用:检验一个数值是否为NaN
console.log(Number.isNaN(NaN));//true
console.log(Number.isNaN('55'));//false
console.log(Number.isNaN(99));//false
- Number.isFinite() (参数类型不是数值,一律返回false)
此方法的作用:检验一个数值是否是有限的
console.log(Number.isFinite(Infinity));//false Infinity 表示正无穷
console.log(Number.isFinite(-Infinity));//false -Infinity 表示负无穷
console.log(Number.isFinite('44'));//false
console.log(Number.isFinite(999));//true
与传统的全局方法isFinite()和isNaN()的区别在于,传统方法**先调用Number()**将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,
- Number.parseInt() 与Number.parseFloat() (与parseInt() ,parseFloat() 完全一致)
console.log(Number.parseInt(12.333));//12
console.log(Number.parseFloat(12.3333333));//12.3333333
console.log(Number.parseFloat('12.3333&'));//12.3333
- Number.isInteger() (参数类型不是数值,一律返回false)
此方法的作用:判断一个数值是否为整数
注:如果一个数值的绝对值小于Number.MIN_VALUE(5E-324),即小于 JavaScript 能够分辨的最小值,会被自动转为 0。
5.Number.EPSILON
一个极小的常量,用于为浮点数计算,设置一个误差范围,
6.Number.isSafeInteger()
此方法的作用:校验一个数值是否为安全的整数
avaScript 能够准确表示的整数范围在-2^53 到 2 ^53之间(不含两个端点),超过这个范围,无法精确表示这个值。
console.log(Number.isSafeInteger(3.33));//false
console.log(Number.isSafeInteger(3));//true
console.log(Number.isSafeInteger(Math.pow(2, 53) - 1));//true
console.log(Number.isSafeInteger(Math.pow(2, 53)));//false
console.log(Number.isSafeInteger(Math.pow(2, 53) + 1));//false