(1) Number.isFinite()
isFinite()方法用来检测传入的参数是否是有穷数。返回true或false。
示例:
Number.isFinite(1/0) // false
Number.isFinite(10/2) // true
Number.isFinite(Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(-Infinity); // false
Number.isFinite(0); // true
Number.isFinite(2e64); // true
Number.isFinite('0'); // false, would've been true with
// global isFinite('0')
Number.isFinite(null); // false, would've been true with
// global isFinite(null)
说明:
- 和全局的
isFinite()函数相比,这个方法不会强制将一个非数值的参数转换成数值,这就意味着,只有数值类型的值,且是有穷的(finite),才返回true。
(2) Number.isInteger()
Number.isInteger()方法用来判断参数是否为整数。
示例:
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger("10"); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
(3) Number.isNaN()
Number.isNaN()方法用来判断值是否为NaN。并且检查其类型是否为 Number。它是原来的全局 isNaN() 的更稳妥的版本。
说明:
-
在 JavaScript 中,
NaN最特殊的地方就是,我们不能使用相等运算符(==(en-US) 和===(en-US))来判断一个值是否是NaN,因为NaN == NaN和NaN === NaN都会返回false。因此,必须要有一个判断值是否是NaN的方法。 -
和全局函数
isNaN()相比,Number.isNaN()不会自行将参数转换成数字,只有在参数是值为NaN的数字时,才会返回true。
示例:
Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0) // true
// 下面这几个如果使用全局的 isNaN() 时,会返回 true。
Number.isNaN("NaN"); // false,字符串 "NaN" 不会被隐式转换成数字 NaN。
Number.isNaN(undefined); // false
Number.isNaN({}); // false
Number.isNaN("blabla"); // false
(4) Number.isSafeInteger()
Number.isSafeInteger() 方法用来判断传入的参数值是否是一个“安全整数”(safe integer)。
(5) Number.parseFloat() & Number.parseInt()
1.Number.parseFloat()方法可以把一个字符串解析成浮点数。该方法与全局的 parseFloat() 函数相同,并且处于 ECMAScript 6 规范中(用于全局变量的模块化)。
如果无法被解析成浮点数,返回NaN。
2.Number.parseInt()和全局的 parseInt() 函数具有一样的函数功能
(6) Number.toExponential()
toExponential() 方法以指数表示法返回该数值字符串表示形式。
(7) toFixed()
toFixed()方法使用定点表示法来格式化一个数值。会进行四舍五入。
参数:
| 参数 | 说明 |
|---|---|
| 小数点后面数字的个数 | 0-20之间,实际可能更大。默认0 |
示例:
let n = 9.123456
n.toFixed() // 9
let n1 = 9.6666666
n1.toFixed(2) // 9.67
let n2 = 12
n2.toFixed(2) // 12.00
(8) toLocaleString()
toLocaleString() 方法返回这个数字在特定语言环境下的表示字符串。
(9) toPrecision()
toPrecision() 方法以指定的精度返回该数值对象的字符串表示。
(10) toString()
toString()方法返回指定 Number 对象的字符串表示形式。
(11) valueOf()
valueOf() 方法返回一个被 Number对象包装的原始值。