2011-12-15 13 views
18

Number.POSITIVE_INFINITYInfinityの値を持ち、Number.NEGATIVE_INFINITYの値は-Infinityです。無限大対ポシティブインフィニティ

Infinityの代わりにNumber.POSITIVE_INFINITY、または-Infinityの代わりにNumber.NEGATIVE_INFINITYの代わりに使用する理由はありますか?

関連する言葉では、isFiniteとのクロスブラウザの問題はありますか?

答えて

17

Number.POSITIVE_INFINITYInfinitywindowの特性であり、上書きであるのに対し、上書き定数したがってない:

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で

、上書き能力が除去されている:Infinity、値特性NaNを、グローバルオブジェクトのundefinedは、読み取り専用プロパティに変更されました:

15.1.1。 isFiniteについて


:私は一度Googleの閉鎖ライブラリがisFiniteにカスタム機能を実装し、それがどのブラウザ不明だが、その答えは、いくつかのクロスブラウザの矛盾はおそらくあったことだった理由としてquestionを掲載どの矛盾があるか。

+4

+1、私は何か新しいことを学ぶのが大好きです – Joe

+1

しかし、Number.POSITIVE_INFINITYが古いブラウザで変更可能であるという事実以外の 'Infinity'と同じ結果を返すかどうかは本当に答えませんでした。 – jfriend00

+1

@ jfriend00:それを正しく理解していればそれは問題ではありません。 'Infinity'に対して' Number.POSITIVE_INFINITY'を使用する理由があるかどうかを尋ねています。これは正当な理由です。 – pimvdb

関連する問題