Boolean 对象也称作布尔对象,其意义是表示逻辑的两方面:真(true)和假(false)。创建 Boolean 对象语法如下:
//构造函数 new Boolean(value); //转换函数 Boolean(value);
value 参数可以是要转换成布尔对象的值,也可以是布尔对象存放的值。以上两种语法的不同之处,可以通过下面的例子看出来:
<script type="text/javascript"> document.write( typeof(new Boolean(1)) + '<br />' ); document.write( typeof(Boolean(1)) ); </script>
运行该例子,输出:
object boolean
可见,利用构造函数(new 关键字)得到的是一个包含布尔值的对象;而使用转换函数,得到的则是一个布尔值。
小结:Boolean 对象算是一个比较特殊的对象,我们可以把它视作是将布尔值进行包装的一个容器。
如果 value 参数被设置为 0、-0、null、""、false、undefined 或 NaN,或者省略该参数,该 Boolean 对象设置为 false,反之则为 true。
注意,尽管 Boolean 对象被设置为 false ,但在 if 判断中仍为 true:
<script type="text/javascript"> var obj1 = new Boolean(false); if( obj1 ){ document.write( '1' ); }else{ document.write( '2' ); } </script>
运行该例子会输出 1。原因在于尽管 obj1 是一个被设置为 false 的对象,但在 if 判断时,obj1 是一个非空的对象,因此认为它是有意义的,返回 true 而判断成立。这与 obj1 对象包含的布尔值无关。