小焱吧 关注:8贴子:141
  • 0回复贴,共1

前端学习 JavaScript Boolean(逻辑)布尔对象

只看楼主收藏回复

Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)。
实例
检查逻辑对象是 true 还是 false。
<html><body><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 是逻辑的 "+ b1 +"<br />")document.write("1 是逻辑的 "+ b2 +"<br />")document.write("空字符串是逻辑的 "+ b3 + "<br />")document.write("null 是逻辑的 "+ b4+ "<br />")document.write("NaN 是逻辑的 "+ b5 +"<br />")document.write("字符串 'false' 是逻辑的 "+ b6 +"<br />")</script></body></html>Boolean 对象
您可以将 Boolean 对象理解为一个产生逻辑值的对象包装器。
Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)。
创建 Boolean 对象
使用关键词 new 来定义 Boolean 对象。下面的代码定义了一个名为 myBoolean 的逻辑对象:
var myBoolean=new Boolean()
注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。
var myBoolean=new Boolean();var myBoolean=new Boolean(0);var myBoolean=new Boolean(null);var myBoolean=new Boolean("");var myBoolean=new Boolean(false);var myBoolean=new Boolean(NaN);
下面的所有的代码行均会创初始值为 true 的 Boolean 对象:
var myBoolean=new Boolean(1);var myBoolean=new Boolean(true);var myBoolean=new Boolean("true");var myBoolean=new Boolean("false");var myBoolean=new Boolean("Bill Gates");
Boolean类型
Boolean类型是JavaScript中使用的最多的一种类型,该类型只有两个字面值:true和false。这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0。以下是为变量赋值Boolean类型值的例子:
var found = true;var lost = false;
需要注意的是Boolean类型的字面值true和false是区分大小写的。也就是说True和False(或者其它混合大小写形式)都不是Boolean类型的值,只是标识符。
虽然Boolean类型的字面值只有两个,但ECMAScript中所有类型值,都有于这两个Boolean值等价的值。要将一个值转换为其对应的Boolean值,可以调用类型转换函数Boolean(),如下所示:
var msg = 'hello world';var msgAsBool = Boolean(msg);console.log(msgAsBool);//true
在这个例子中,字符串msg被转换成了Boolean值,该值被保存在msgAsBool变量中。可以对任何数据类型的值调用Boolean()函数,而且总会返回一个Boolean值,至于返回的是true还是false,取决于要转换值的数据类型及其实际值。下表给出了各种数据类型及其对应的转换规则。

这些转换规则对理解流控制语句自动执行相应的Boolean转换非常重要,看下面的代码:
var msg = 'hello world';if(msg){ console.log('value is true');}
运行这段代码,就会显示一个打印输出 value is true,因为字符串msg被自动转换成了对应的Boolean值true,由于存在这种自动执行的Boolean转换,因此确切的知道在流控制语句中使用的是什么变量至关重要。错误使用一个对象而不是一个Boolean值,就有可能彻底改变应用程序流程。


IP属地:湖南1楼2022-05-10 08:23回复