我知道Number.POSITIVE_INFINITY
的值爲Infinity
,而Number.NEGATIVE_INFINITY
的值爲-Infinity
。Infinity vs Number.POSITIVE_INFINITY
是否有原因我會用Number.POSITIVE_INFINITY
而不是Infinity
或Number.NEGATIVE_INFINITY
而不是-Infinity
?
在相關說明中,是否存在任何與isFinite
有關的跨瀏覽器問題?
我知道Number.POSITIVE_INFINITY
的值爲Infinity
,而Number.NEGATIVE_INFINITY
的值爲-Infinity
。Infinity vs Number.POSITIVE_INFINITY
是否有原因我會用Number.POSITIVE_INFINITY
而不是Infinity
或Number.NEGATIVE_INFINITY
而不是-Infinity
?
在相關說明中,是否存在任何與isFinite
有關的跨瀏覽器問題?
Number.POSITIVE_INFINITY
是一個常數並且因此不可覆蓋,而Infinity
是window
一個屬性,是重寫:
Number.POSITIVE_INFINITY = 123;
Number.POSITIVE_INFINITY; // Infinity
Infinity = 123;
Infinity; // 123
這是一回事undefined
或NaN
,它們基本上的window
和重寫特性。依靠window.undefined
也不是一件好事;而是你想自己生成一個'真實'undefined
(就像在一個自動執行的函數中,你不傳遞一個參數但是在函數中聲明它)。
規格:
15.7.3.6
Number.POSITIVE_INFINITY
的
Number.POSITIVE_INFINITY
值是+∞
。此屬性有屬性
{ [[Writable]]:
false
, [[Enumerable]]: false, [[Configurable]]: false }
。
在ES5的覆蓋能力已被刪除:
15.1.1:值屬性
NaN
,Infinity
和全局對象的undefined
已被更改爲只讀屬性。
關於isFinite
:我曾經發布了question,爲什麼谷歌關閉圖書館實現了isFinite
一個自定義函數,得到的回答是,有可能是一些跨瀏覽器的不一致,雖然目前還不清楚哪個瀏覽器和哪個不一致。
+1,我喜歡學習新東西 – Joe 2011-12-15 15:35:49