Number-apis(1-11)

150 阅读2分钟

(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对象包装的原始值。