- 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 的結果。
- 程式用法:
- Boolean 的特徵:constructor 傳回建立物件實體的函式其位址。此特徵繼承自物件 Function。
- 程式用法:
<script type='text/javascript'>
document.write( a.constructor +'<br />' );
</script> - 執行結果:
function Boolean() { [native code] }
- 程式用法:
- Boolean 的方法:繼承自物件 Function。Function 方法很多,此處只述及一般的方法。
- toSource:傳回建立物件的源碼。Firefox 有支援;IE, Safari, Chrome 會失敗。
- toString:將物件的值轉換成字串。
- 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