Number 对象
const a = new Number(1)1. 静态属性
Number.POSITIVE_INFINITY // Infinity
Number.NEGATIVE_INFINITY // -Infinity
Number.NaN // NaN
Number.MAX_VALUE // 1.7976931348623157e+308
Number.MAX_VALUE < Infinity // true
Number.MIN_VALUE // 5e-324
Number.MIN_VALUE > 0 // true
Number.MAX_SAFE_INTEGER // 9007199254740991
Number.MIN_SAFE_INTEGER // -9007199254740991
Number.EPSILON // 代表一个极小量Number.EPSILON 是极小的常量,对于 64 浮点数来说等于 2 的 -52 次方,引入一个这么小的量的目的,在于为浮点数计算,设置一个误差范围,误差如果小于这个值,就可以认为已经没有意义了,即不存在误差了。
// 0.1 + 0.2 与 0.3 得到的结果是 false,这是由于二进制存储的原因
function withinErrorMargin (left, right) {
return Math.abs(left - right) < Number.EPSILON;
}
0.1 + 0.2 === 0.3 // false
withinErrorMargin(0.1 + 0.2, 0.3) // true2. 静态方法
注意由于存储的原因,JavaScript 内部,整数和浮点数采用的是同样的储存方法,因此 isInteger 方法中 25.0 也是 true 的。
要区别于传统的全局方法 isFinite() / isNaN() 和 Number 对象的静态方法,传统方法先调用 Number() 将非数值转为数值再判断。
3. 实例方法
注意Number.prototype.toFixed()返回的结果是字符串而不是数字。
最后更新于
这有帮助吗?