Skip to content

静态方法

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: false

isInteger()

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: 0

parseInt()

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