Number - Number.isFinite() && Number.isNaN()

Number.isFinite()

用来检查一个数值是否为有限的(finite),是否是一个有穷数(finite number),即不是Infinity

如果参数类型不是数值,Number.isFinite一律返回false

Number.isFinite(NaN); // false
Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite('foo'); // false
Number.isFinite('15'); // false
Number.isFinite(true); // false

  

Number.isFinite(0);         // true
Number.isFinite(2e64);      // true
Number.isFinite(0.8); // true

  Number.isNaN()

用来检查一个值是否为NaN

如果参数类型不是NaNNumber.isNaN一律返回false

  

        isNaN(true);      // false
        isNaN(null);      // false
        isNaN(37);        // false
        // strings
        isNaN("37");      // false: 可以被转换成数值37
        isNaN("37.37");   // false: 可以被转换成数值37.37
        isNaN("");        // false: 空字符串被转换成0
        isNaN(" ");       // false: 包含空格的字符串被转换成0
        // dates
        isNaN(new Date());                // false

  

        isNaN(NaN);       // true
        isNaN(undefined); // true
        isNaN({});        // true
        isNaN("37,5");    // true
        isNaN(new Date().toString());     // true
        isNaN("blabla")   // true: "blabla"不能转换成数值  // 转换成数值失败, 返回NaN
        Number.isNaN(9 / NaN) // true
        Number.isNaN('true' / 0) // true
        Number.isNaN('true' / 'true') // true

  

  

猜你喜欢

转载自www.cnblogs.com/blogZhao/p/12557044.html
今日推荐