码迷,mamicode.com
首页 > 其他好文 > 详细

深刻理解Boolean对象值 和原始值

时间:2015-09-21 12:37:29      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

首先是要理解运算符
||是这样运算的:从第一个开始,遇到有意义的返回,否则返回最后一个表达式(注意不一定是Boolean值); 

&&是这样运算的:从第一个开始,遇到无意义的返回,否则返回最后一个表达式(注意同上); 

!是这样运算的:对表达式的值取非(注意不是对表达式)。

然后再试着 看看下面的代码:

var ob1 = new Boolean(false);
var ob2 = (ob1&&true);
var ob3 = (true&&ob1);
var ob4 = Boolean(ob1&&true);
var ob5 = Boolean(true&&ob1);
alert("ob2 = " + ob2 + " ob3 = " + ob3 + " ob4 = " + ob4 + " ob5 = " + ob5);


最后测试出来的结果是 
ob2 = true ob3 = false ob4 = true ob5 = true

new Boolean(),new Boolean(false)是同一个东西,由于它是一个对象,故是有意义的,但其值为false,所以,可以看为“有意义的false”,所以结果为最后一个表达式的值。


原始的Boolean值和Boolean对象区别如此之大,所以切记二者区别,不要混淆使用。


一个Boolean对象,Boolean对象是对Boolean值的一个封装。
Boolean对象:一个值为true或false的Boolean对象。


这个问题是最近在体验一个牛客APP 做JavaScript 题目时候 遇到的 ,然后查询了一下资料,再一般编码的过程中我们还是不会这样去写的,这样写没有多大的意义,直接使用Boolean的原始值就可以了,这样写再理解上也困难一些,意义也不大。不过偶尔装X 还是可以的!

深刻理解Boolean对象值 和原始值

标签:

原文地址:http://my.oschina.net/u/615191/blog/509043

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!