Number对象新方法
Number.isFinite() 用于检查一个数值是否为有限
// 返还布尔值
console.log(Number.isFinite(1)) // true
console.log(Number.isFinite(0.1)) //true
NaN不是有限的
console.log(Number.isFinite(NaN)); //false
Number.isFinate 没有隐式的 Number() 类型转换,所有非数值都返回 false
console.log( Number.isFinite('hi')); // false
console.log( Number.isFinite('1')); // false
console.log( Number.isFinite(true)); // false
Number.isNaN() 用来检查一个值是否为NaN
console.log(Number.isNaN(NaN)); // true
在全局的 isNaN() 中,以下皆返回 true,因为在判断前会将非数值向数值转换
而 Number.isNaN() 不存在隐式的 Number() 类型转换,非 NaN 全部返回 false
Number.isNaN("NaN"); // false
Number.isNaN(undefined); // false
Number.isNaN({}); // false
Number.isNaN("true"); // false
Number.parseInt()用于将给定字符串转化为指定进制的整数。
Number.parseInt(12.3) // 12
Number.parseInt(12.7) // 12
// 与全局的 parseInt() 函数是同一个函数
Number.parseInt === parseInt; // true
Number.parseFloat() 用于把一个字符串解析成浮点数。
Number.parseFloat('12.222') //12.222
Number.parseFloat('12.33asd') // 12.33
// 对于无法解析的字符串,会返回NaN
Number.parseFloat('abcd') // NaN
// 与全局的 parseFloat() 方法是同一个方法
Number.parseFloat === parseFloat // true
Number.isInteger(); 用来见检查一个数值是否为整数
let i = 2.2;
console.log(Number.isInteger(i));
let o = 8;
console.log(Number.isInteger(o));