2008年12月9日

eval, isFinite, isNaN

eval, isFinite, isNaN

  1. 函式 eval 的參數是字串,此字串由 javascript 的指令集組成。其語法是:

    eval(字串)

    如果參數不是字串,則會回傳參數。eval 可用在 ajax 傳遞 JSON。

    • 程式用法:

      <script type='text/javascript'>
      var str="for(var i=0; i<10; i++) document.write(i +',');";
      eval( str );

      eval("var obj={ a:2, b:7 }");
      document.write( '<br />'+obj.a +' : '+ obj.b ) ;
      </script>

    • 執行結果:

      0,1,2,3,4,5,6,7,8,9,
      2 : 7

  2. 函式 isFinite 檢查參數是否為有限數值。其語法是:

    isFinite(數值)

    如果參數是 NaN,正 Infinity,負 Infinity,則結果為 false;否則為 true。

    • 程式用法:

      <script type='text/javascript'>
      document.write( isFinite( NaN ) +'<br />');
      document.write( isFinite( 1234567898765432155558888 ));
      </script>

    • 執行結果:

      false
      true

  3. 函式 isNaN 檢查參數是否是 非數值。其語法是:

    isNaN(值)

    由於 NaN 與所有的數值不相等,包括自身,所以要用 isNaN 作檢測。函式會將參數轉換成數值,如果成功則結果為 false;否則為 true。

    • 程式用法:

      <script type='text/javascript'>
      document.write( isNaN(1234) +'<br />');
      document.write( isNaN("1234") +'<br />');
      document.write( isNaN("A12") +'<br />');
      document.write( (NaN == NaN) +'<br />');
      document.write( isNaN( NaN ));
      </script>

    • 執行結果:

      false
      false
      true
      false
      true


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