JavaScript Boolean(布爾) 對象
JavaScript Boolean 對象
Boolean 對象也稱作布爾對象,其意義是表示邏輯的兩方面:真(true)和假(false)。創(chuàng)建 Boolean 對象語法如下:
//構(gòu)造函數(shù)
new Boolean(value);
//轉(zhuǎn)換函數(shù)
Boolean(value);
value 參數(shù)可以是要轉(zhuǎn)換成布爾對象的值,也可以是布爾對象存放的值。以上兩種語法的不同之處,可以通過下面的例子看出來:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script type="text/javascript"> document.write( typeof(new Boolean(1)) + '<br />' ); document.write( typeof(Boolean(1)) ); </script> </head> <body> </body> </html>
運行該例子,輸出:
object
boolean
可見,利用構(gòu)造函數(shù)(new 關(guān)鍵字)得到的是一個包含布爾值的對象;而使用轉(zhuǎn)換函數(shù),得到的則是一個布爾值。
小結(jié):Boolean 對象算是一個比較特殊的對象,我們可以把它視作是將布爾值進行包裝的一個容器。
提示
如果 value 參數(shù)被設(shè)置為 0、-0、null、""、false、undefined 或 NaN,或者省略該參數(shù),該 Boolean 對象設(shè)置為 false,反之則為 true。
注意,盡管 Boolean 對象被設(shè)置為 false ,但在 if 判斷中仍為 true:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script type="text/javascript"> var obj1 = new Boolean(false); if( obj1 ){ document.write( '1' ); }else{ document.write( '2' ); } </script> </head> <body> </body> </html>
運行該例子會輸出 1。原因在于盡管 obj1 是一個被設(shè)置為 false 的對象,但在 if 判斷時,obj1 是一個非空的對象,因此認為它是有意義的,返回 true 而判斷成立。這與 obj1 對象包含的布爾值無關(guān)。