Appearance
静态方法 
isFinite() 
TIP
静态方法判断传入值是否是一个有限数——也就是说,它检查给定值是一个数字,且该数字既不是正的 Infinity,也不是负的 Infinity 或 NaN
javascript
console.log(Number.isFinite(1 / 0));
// Expected output: false
console.log(Number.isFinite(10 / 5));
// Expected output: true
console.log(Number.isFinite(0 / 0));
// Expected output: falseisInteger() 
TIP
静态方法判断传入值是否为整数
javascript
function fits(x, y) {
  if (Number.isInteger(y / x)) {
    return 'Fits!';
  }
  return 'Does NOT fit!';
}
console.log(fits(5, 10));
// Expected output: "Fits!"
console.log(fits(5, 11));
// Expected output: "Does NOT fit!"isNaN() 
TIP
静态方法判断传入的值是否为 NaN,如果输入不是数字类型,则返回 false。它是全局 isNaN() 函数更健壮的版本
javascript
function typeOfNaN(x) {
  if (Number.isNaN(x)) {
    return 'Number NaN';
  }
  if (isNaN(x)) {
    return 'NaN';
  }
}
console.log(typeOfNaN('100F'));
// Expected output: "NaN"
console.log(typeOfNaN(NaN));
// Expected output: "Number NaN"isSafeInteger() 
TIP
静态方法判断提供的值是否是一个安全整数
javascript
function warn(x) {
  if (Number.isSafeInteger(x)) {
    return 'Precision safe.';
  }
  return 'Precision may be lost!';
}
console.log(warn(Math.pow(2, 53)));
// Expected output: "Precision may be lost!"
console.log(warn(Math.pow(2, 53) - 1));
// Expected output: "Precision safe."parseFloat() 
TIP
静态方法解析参数并返回浮点数。如果无法从参数中解析出一个数字,则返回 NaN
javascript
function circumference(r) {
  if (Number.isNaN(Number.parseFloat(r))) {
    return 0;
  }
  return parseFloat(r) * 2.0 * Math.PI;
}
console.log(circumference('4.567abcdefgh'));
// Expected output: 28.695307297889173
console.log(circumference('abcdefgh'));
// Expected output: 0parseInt() 
TIP
静态方法解析一个字符串参数并返回一个指定基数的整数
javascript
function roughScale(x, base) {
  const parsed = Number.parseInt(x, base);
  if (Number.isNaN(parsed)) {
    return 0;
  }
  return parsed * 100;
}
console.log(roughScale(' 0xF', 16));
// Expected output: 1500
console.log(roughScale('321', 2));
// Expected output: 0