Number与Infinity
2019-08-07 本文已影响0人
李霖弢
Number
静态属性
- MAX_VALUE
可表示的最大的数,MAX_VALUE 属性值接近于 1.79E+308。大于 MAX_VALUE 的值代表 "Infinity"。 - MIN_VALUE
可表示的最小的数,即最接近 0 的正数 (实际上不会变成 0)。最大的负数是 -MIN_VALUE,MIN_VALUE 的值约为 5e-324。小于 MIN_VALUE ("underflow values") 的值将会转换为 0。 - NaN
非数字值(Not-A-Number)。 - NEGATIVE_INFINITY
负无穷大,溢出时返回该值。该值小于 MIN_VALUE。 - POSITIVE_INFINITY
正无穷大,溢出时返回该值。该值大于 MAX_VALUE。
实例方法
- valueOf()
返回一个 Number 对象的原始数字值。
var num = new Number(10);
console.log(num.valueOf()); // 输出:10
- toExponential()
把对象的值转换为指数计数法。 - toFixed()
把数字转换为字符串,并对小数点指定位数。
Infinity
Infinity
是一个Number类型的字面量,表示无穷大。当一个Number类型的值,在运算过程中超过了所能表示的最大值,就会得到无穷大(而非NaN
)。
console.log(100 / 0); // Infinity
console.log(-100 / 0); // -Infinity
console.log(1e1000); // Infinity
通过Number.isFinite(n)
可以判断一个值是否是有穷的。当n是Number类型时,只有它是正负Infinity
或NaN
时,返回false,其他情况下返回true。
任何一个有穷数和Infinity加减的结果都是Infinity,因此Infinity === Infinity - 1
此外Infinity
进行运算时,有时也会出现NaN
console.log(Infinity + Infinity); // Infinity
console.log(Infinity - Infinity); // NaN
console.log(Infinity * Infinity); // Infinity
console.log(Infinity / Infinity); // NaN
console.log(Infinity * 0); // NaN
基本数据类型与Number对象
typeof 1 //number
typeof new Number(1) //object
1 instanceof Number //false
new Number(1) instanceof Number //true
其中1是基本数据类型,不是引用数据类型,因此instanceof
总为false
通过new Number(1)
包装以后成为引用数据类型,可以判断为Number