1. Number.isFinte(),Number.isNaN():前者检测数值是否为有限,后者检测一个值是不是NaN

      1. Number.isFinite(15); // true
      2. Number.isFinite(0.8); // true
      3. Number.isFinite(NaN); // false
      4. Number.isFinite(Infinity); // false
      5. Number.isFinite(-Infinity); // false
      6. Number.isFinite('foo'); // false
      7. Number.isFinite('15'); // false
      8. Number.isFinite(true); // false
      9. log('-------------------------------')
      10. Number.isNaN(NaN) // true
      11. Number.isNaN(15) // false
      12. Number.isNaN('15') // false
      13. Number.isNaN(true) // false
      14. Number.isNaN(9/NaN) // true
      15. Number.isNaN('true' / 0) // true
      16. Number.isNaN('true' / 'true') // true

      Number.isFinite()对于非数值一律返回false, Number.isNaN()只有对于NaN才返回true,非NaN一律返回false。

    2. Number.parseInt,Nuber,parseFloat()

    ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。

    1. // ES5的写法
    2. parseInt('12.34') // 12
    3. parseFloat('123.45#') // 123.45
    4. // ES6的写法
    5. Number.parseInt('12.34') // 12
    6. Number.parseFloat('123.45#') // 123.45

    3.Number.isInteger:用来判断一个数值是否为整数。

    1. Number.isInteger(25) // true
    2. Number.isInteger(25.1) // false

    4.Math.trunc:方法用于去除一个数的小数部分,返回整数部分

    1. Math.trunc(4.1) // 4
    2. Math.trunc(4.9) // 4
    3. Math.trunc(-4.1) // -4
    4. Math.trunc(-4.9) // -4
    5. Math.trunc(-0.1234) // -0

    对于空值和无法截取整数的值,返回NaN。

    1. Math.sign():方法用来判断一个数是整数负数,还是0,对于非数值,会先将其转化为数值,

    它会返回五种值。

    • 参数为正数,返回+1;
    • 参数为负数,返回-1;
    • 参数为 0,返回0;
    • 参数为-0,返回-0;
    • 其他值,返回NaN。
      Math.sign(-5) // -1
      Math.sign(5) // +1
      Math.sign(0) // +0
      Math.sign(-0) // -0
      Math.sign(NaN) // NaN
      
      如果参数是非数值,会自动转为数值。对于那些无法转为数值的值,会返回NaN。
      Math.sign('')  // 0
      Math.sign(true)  // +1
      Math.sign(false)  // 0
      Math.sign(null)  // 0
      Math.sign('9')  // +1
      Math.sign('foo')  // NaN
      Math.sign()  // NaN
      Math.sign(undefined)  // NaN