1.Number.isFinite(), Number.isNaN()
isFinite()函数用来判断被传入的参数值是否为一个有限数值(finite number)。在必要情况下,参数会首先转为一个数值。
isFinite(Infinity); // false
isFinite(NaN); // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite(2e64); // true, 在更强壮的Number.isFinite(null)中将会得到false
isFinite("0"); // true, 在更强壮的Number.isFinite('0')中将会得到false
注意,如果参数类型不是数值,isFinite就会返回false
isNaN()用来检查一个值是否为NaN
isNaN(NaN) // true
isNaN(15) // false
isNaN('15') // false
isNaN(true) // false
2.Number.parseInt(), Number.parseFloat()
ES6 将全局方法 parseInt()、parseFloat(),重构到了Number对象上面,行为完全保持不变。
// ES5的写法
parseInt('12.34') // 12
parseFloat('123.45#') // 123.45
// ES6的写法
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45
3.Number.isInteger()
Number.isInteger()用来判断一个数值是否为整数。
Number.isInteger(21) // true
Number.isInteger(21.5) // false
JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 21 和 21.0 被视为同一个值。
Number.isInteger(21) // true
Number.isInteger(21.00) // true
如果参数不是数值,Number.isInteger() 返回 false
Number.isInteger() // false
Number.isInteger(null) // false
Number.isInteger('15') // false
Number.isInteger(true) // false
往期内容
希望大家能一块分享一些文章,在公众号里面私信我吧!