JavaScript Bool...LOGIN

JavaScript Boolean(布林) 對象

JavaScript Boolean 物件

Boolean 物件也稱為布林對象,其意義是表示邏輯的兩方面:真(true)和假(false)。建立Boolean 物件語法如下:

//建構子
new Boolean(value);
//轉換函數
Boolean(value);

##value 參數可以是要轉換成布林物件的值,也可以是布林物件存放的值。以上兩種語法的不同之處,可以透過下面的例子看出來:

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<script type="text/javascript">
    document.write( typeof(new Boolean(1)) + '<br />' );
    document.write( typeof(Boolean(1)) );
</script>
</head>
<body>
</body>
</html>

執行這個例子,輸出:

##objectboolean


可見,利用建構子(new 關鍵字)得到的是包含布林值的物件;而使用轉換函數,得到的則是一個布林值。

小結:Boolean 物件算是一個比較特殊的對象,我們可以把它視作是將布林值包裝的一個容器。

提示

如果value 參數設定為0、-0、null、""、false、undefined 或NaN,或省略該參數,該Boolean 物件設定為false,反之則為true。

注意,儘管Boolean 物件被設定為false ,但在if 判斷中仍為true:

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(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 是一個被設定為 false 的對象,但在 if 判斷時,obj1 是一個非空的對象,因此認為它是有意義的,返回 true 而判斷成立。這與 obj1 物件包含的布林值無關。
#下一節

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script type="text/javascript"> var b1=new Boolean(0); var b2=new Boolean(1); var b3=new Boolean(""); var b4=new Boolean(null); var b5=new Boolean(NaN); var b6=new Boolean("false"); document.write("0 is boolean "+ b1 +"<br>"); document.write("1 is boolean "+ b2 +"<br>"); document.write("An empty string is boolean "+ b3 + "<br>"); document.write("null is boolean "+ b4+ "<br>"); document.write("NaN is boolean "+ b5 +"<br>"); document.write("The string 'false' is boolean "+ b6 +"<br>"); </script> </head> <body> </body> </html>
章節課件