Infinity 和 -Infinity
1 / 0; // Infinity
// Wait! WHAAAT?
Infinity
是全局对象的属性(因此是一个全局变量),表示数学无穷大。它是对 Number.POSITIVE_INFINITY
的引用。
它比任何其他值都大,你可以通过除以 0 或通过计算一个大到溢出的数字的表达式得到它。这实际上意味着 JavaScript 中没有 0 错误划分,有 Infinity!
还有 -Infinity
是数学负无穷大,并且它低于任何其他值。
要获得 -Infinity
,你可以否定 Infinity
,或者在 Number.NEGATIVE_INFINITY
中获取它。
- (Infinity); // -Infinity
现在让我们通过示例获得一些乐趣:
Infinity > 123192310293; // true
-Infinity < -123192310293; // true
1 / 0; // Infinity
Math.pow(123123123, 9123192391023); // Infinity
Number.MAX_VALUE * 2; // Infinity
23 / Infinity; // 0
-Infinity; // -Infinity
-Infinity === Number.NEGATIVE_INFINITY; // true
-0; // -0 , yes there is a negative 0 in the language
0 === -0; // true
1 / -0; // -Infinity
1 / 0 === 1 / -0; // false
Infinity + Infinity; // Infinity
var a = 0, b = -0;
a === b; // true
1 / a === 1 / b; // false
// Try your own!