為了保證的可讀性,本文采用意譯而非直譯。
Infinity(無窮大)在 JS 中是一個特殊的數字,它的特性是:它比任何有限的數字都大,如果不知道 Infinity, 我們在一些運算操作遇到時,就會覺得很有意思。
現在我們來看看 JS 中的Infinity 屬性,了解用例并解決一些常見的陷阱。
1.Infinity(無窮)的定義
無窮可以分為兩種,正無窮和負無窮,JS 中對應的表示方式為:+Infinity(或者Infinity) 和 -Infinity。
這意味著Infinity和-Infinity(小于任何有限數的數字)都是number類型的特殊值:
typeof Infinity; // => 'number'typeof -Infinity; // => 'number'
Infinity 是全局對象的屬性:
window.Infinity; // => Infinity
另外,Number函數也有兩個屬性來表示正負無窮大:
Number.POSITIVE_INFINITY; // => Infinity
Number.NEGATIVE_INFINITY; // => -Infinity
2. Infinity 的特性
Infinity比任何有限數都大。
舉幾個例子 Look Look:
Infinity > 100; // => true
Infinity > Number.MAX_SAFE_INTEGER; // => true
Infinity > Number.MAX_VALUE; // => true
Infinity 在加法、乘法和除法等算術運算中用作操作數時會產生有趣的效果:
Infinity + 1; // => Infinity
Infinity + Infinity; // => InfinityInfinity * 2; // => Infinity
Infinity * Infinity; // => InfinityInfinity / 2; // => Infinity
一些Infinity 的運算得到有限的數:
10 / Infinity; // => 0
一個有限的數除以0得到 Infinity 結果:
2 / 0; // => Infinity
對無窮數進行概念上不正確的運算會得到NaN。 例如,不能除以無限數,也無法確定無限數是奇數還是偶數:
Infinity / Infinity; // => NaN
Infinity % 2; // => NaN
2.1 負無窮
負無窮小于任何有限數。
將-Infinity 與一些有限數字進行比較:
-Infinity < 100; // => true
-Infinity < -Number.MAX_SAFE_INTEGER; // => true
-Infinity < -Number.MAX_VALUE; // => true
同時,負無窮小于正無窮:
-Infinity < Infinity; // => true
新聞熱點
疑難解答
圖片精選