js中的boolean原始类型和boolean引用类型

js中的boolean原始类型和boolean引用类型

ID:34707891

大小:54.73 KB

页数:3页

时间:2019-03-09

js中的boolean原始类型和boolean引用类型_第1页
js中的boolean原始类型和boolean引用类型_第2页
js中的boolean原始类型和boolean引用类型_第3页
资源描述:

《js中的boolean原始类型和boolean引用类型》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、js中的boolean原始类型和Boolean引用类型js代码 1.var bFound = true;  2.var bFlag = false;  如上面的两行代码,boolean类型是JavaScript中的一种原始类型,它只有两种值:true和false。使用Boolean(value)方法可以强制转换任意值为boolean类型js代码 1.alert(Boolean('')); //outpt false  2.alert(Boolean('hello')); //output true  3.alert(Boolean(100)); //output true  4.

2、alert(Boolean(0)); //output false5.alert(Boolean(NaN));//outputfalse6.alert(Boolean(null)); //output false  7.alert(Boolean(undefined)); //output false  8.alert(Boolean(new Object())); //output true   可以看出,当被转换的值为空字符串、数字0和NaN、null或者undefined时,转换为false,其它情况转换为true。所以当我们写if判断的时候需要注意这些特殊的情况,尤其是使

3、用目前比较流行的“对象探测法”书写JS时。“对象探测法”主要写法如下:js代码 1.var student = new Object();  2.if (student.name) {  3.  alert(student.name);  4.} else {  5.  student.name = 'Tom';  6.  alert(student.name);  7.}  if(student.name)这句用来探测student对象中存不存在name属性,如果存在则弹出;否则把name赋值为'Tom',再弹出。这边需要注意的是如果name值已经存在,并且值为空字符串或者0时

4、,结果可能与你预期的不同。在JavaScript中除了存在boolean类型这样的原始类型之外,还存在一种引用类型--Boolean类型。创建Boolean类型的对象的代码如下:js代码 1.var oBooleanObject = new Boolean(true);  需要注意的是这边的"newBoolean()"与前面的"Boolean()"的区别,前者是创建Boolean对象,后者为强制类型转换方法。不过,在大多数情况下Boolean类型是不常被用到的。并且在使用Boolean类型的时候还可能产生一些误会,看看下面的代码:js代码 1.var oBooleanFalse 

5、= new Boolean(false);  2.alert(oBooleanFalse && true); //output true  这边输出是true,让人觉得奇怪。当执行oBooleanFalse && true时,oBooleanFalse被强制类型转换了,而这边oBooleanFalse是一个Object,强制转换后为true。也就说这边用来计算的是oBooleanFalse对象本身,而不是它的值false。虽然我们需要了解Boolean这种类型,但为了避免错误,最好还是使用boolean原始类型。再看下面一个例子:js代码1.var ob1 = new Boole

6、an(false);  2.var ob2 = (ob1&&true);  3.var ob3 = (true&&ob1);  4.var ob4 = Boolean(ob1&&true);  5.var ob5 = Boolean(true&&ob1);  6.alert("ob2 = " + ob2 + ", ob3 = " + ob3 + ", ob4 = " + ob4 + ", ob5 = " + ob5);7.//output ob2 = true, ob3 = false, ob4 = true, ob5 = true 这边最让人困惑的就是ob2和ob3由于顺序上的

7、不同,最终的结果居然不同。产生这样的结果主要和JavaScript中的逻辑运算符的工作方式相关。具体工作方式如下:1.&&的工作方式:从第一个开始,遇到值为false的表达式(fasle、null、undefined、0、NaN、‘’)则返回此表达式,否则返回最后一个表达式(注意,这边所说的表达式不一定为boolean类型)2.的工作方式:从第一个开始,遇到值为true的表达式(与上面&&相反的其他情况)的返回此表达式,否则返回最后一个表达式3.!的工作方式:对表达式的值取非(注

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。