2008年12月10日

Boolean

  1. Boolean 用來產生布林物件實體。其語法是:

    var b=new Boolean( 值 )

    參數的值會被轉成布林值。如果參數未設,或參數值是 0, -0, null, false, NaN, undefined, 空字串"",則物件的初值為 false;參數為其它值或是物件,則為 true。

    • 程式用法:

      <script type='text/javascript'>
      document.write( new Boolean( false ) +'<br />' );
      document.write( new Boolean( 'false' ) );
      </script>

    • 執行結果:

      false
      true

    此物件的值雖然是 true, false;但是其運作與基本的 true, false 有差別。任何物件(包括值為 false 的 Boolean 物件)其值不是 null 或 undefined,則其計算結果為 true。不要搞混了喔,尤其是 Boolean 的物件,其值為 false,但是計算結果還是 true。要用 valueOf() 方法,才可以取得基本布林值。可以將 Boolean 當作函式,將計算式轉換成基本的布林值;這時算出來的就是 true 歸 true,false 歸 false。

    • 程式用法:

      <script type='text/javascript'>
      var a=new Boolean(false);
      if( a )
        document.write( 'A : '+ a );

      var b=Boolean(false);
      if( b )
        document.write( 'B : '+ b );

      var c=false;
      if( c )
        document.write( 'C : '+ c );

      document.write( '<br />A: '+ typeof a +'<br />B: '+ typeof b );
      </script>

    • 執行結果:

      A : false
      A: object
      B: boolean

    • 上例中,a 為物件,其值為 false,但是在 if 的計算得到 true 的結果。

  2. Boolean 的特徵:constructor 傳回建立物件實體的函式其位址。此特徵繼承自物件 Function。

    • 程式用法:

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

    • 執行結果:

      function Boolean() { [native code] }

  3. Boolean 的方法:繼承自物件 Function。Function 方法很多,此處只述及一般的方法。

    1. toSource:傳回建立物件的源碼。Firefox 有支援;IE, Safari, Chrome 會失敗。
    2. toString:將物件的值轉換成字串。
    3. valueOf:傳回物件的基本布林值。

    • 程式用法:

      <script type='text/javascript'>
      document.write( 'TOSTRING: '+ a.toString() +'<br />' );
      document.write( 'VALUEOF: '+ a.valueOf() +'<br />' );
      if( a.valueOf() )
        document.write( 'TRUE');
      </script>

    • 執行結果:

      TOSTRING: false
      VALUEOF: false


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