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>

运行该例子,输出:

object
boolean


可见,利用构造函数(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>
提交重置代码
章节课件