2008年12月9日

Infinity, NaN, undefined

Infinity, NaN, undefined

  1. Infinity 是數學上的無限大,所有的數值都小於 Infinity。一個數值除以 0,其結果是 Infinity。可以設為兩個值 Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY。初值為 Number.POSITIVE_INFINITY。函式 isFinite() 可以用來檢查有限數值。

    • 程式用法:

      <script type='text/javascript'>
      document.write( ( (2/0)==Infinity ) +'<br />' );
      document.write( isFinite(2/0) );
      </script>

    • 執行結果:

      true
      false

  2. NaN 代表不是數值(Not a Number)。NaN 與任何數作數學運算,結果都是 NaN。NaN 不等於任何數,包括自身,必須用函式 isNaN() 作檢測。

    • 程式用法:

      <script type='text/javascript'>
      document.write( ( Math.sin(NaN) + Infinity ) +'<br />' );
      document.write( parseInt('string') +'<br />' );
      document.write( ( parseInt('string')==NaN ) +'<br />' );
      document.write( isNaN( parseInt('string') ) );
      </script>

    • 執行結果:

      NaN
      NaN
      false
      true

  3. 當一個變數從未設定值,其型態就是 undefined。如果變數設為 null,用等於(==)比較,會得到 true;用全等(===)比較,會得到 false。

    • 程式用法:

      <script type='text/javascript'>
      var a;
      document.write( a +'<br />' );
      document.write( (typeof a) +'<br />' );

      var b=null;
      document.write( (b == undefined) +'<br />' );
      document.write( ((typeof b) == undefined) +'<br />' );
      document.write( (b === undefined) +'<br />' );
      </script>

    • 執行結果:

      undefined
      undefined
      true
      false
      false


©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。