重学es6

数值 讲解之 扩展

2020-08-24  本文已影响0人  zhang463291046

以下内容是引用或者借鉴别人的,自己只是做个笔记,方便学习。理解错误的地方,欢迎评论。如有侵权,私聊我删除,未经允许,不准作为商业用途

静态方法

// 参数类型不是数值,Number.isFinite一律返回false
Number.isFinite(15); // true
Number.isFinite(0.8); // true
Number.isFinite(NaN); // false
Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite('foo'); // false
Number.isFinite('15'); // false
Number.isFinite(true); // false
// 参数类型不是NaN,Number.isNaN一律返回false
Number.isNaN(NaN) // true
Number.isNaN("NaN") // false
Number.isNaN(15) // false
Number.isNaN('15') // false
Number.isNaN(true) // false
Number.isNaN(9/NaN) // true
Number.isNaN('true' / 0) // true
Number.isNaN('true' / 'true') // true
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

isInteger()用来判断一个数值是否为整数

//参数不是数值,Number.isInteger返回false。
Number.isInteger(25) // true
Number.isInteger(25.0) // true
Number.isInteger(25.1) // false
Number.isInteger() // false
Number.isInteger(null) // false
Number.isInteger('15') // false
Number.isInteger(true) // false
// 小数点后16位丢失精度2
Number.isInteger(3.0000000000000002) // true

静态属性

function withinErrorMargin (left, right) {
  return Math.abs(left - right) < Number.EPSILON * Math.pow(2, 2);
}

0.1 + 0.2 === 0.3 // false
withinErrorMargin(0.1 + 0.2, 0.3) // true

1.1 + 1.3 === 2.4 // false
withinErrorMargin(1.1 + 1.3, 2.4) // true
Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1
// true
Number.MAX_SAFE_INTEGER === 9007199254740991
// true

Number.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER
// true
Number.MIN_SAFE_INTEGER === -9007199254740991

isSafeInteger()则是用来判断一个整数是否落在这个范围之内

Number.isSafeInteger(3) // true
Number.isSafeInteger(1.2) // false
Number.isSafeInteger(9007199254740991) // true
Number.isSafeInteger(9007199254740992) // false
Number.MAX_VALUE === 1.7976931348623157e+308  // true
Number.MIN_VALUE === 5e-324  // true
上一篇下一篇

猜你喜欢

热点阅读