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

首先是要理解运算符
||是这样运算的:从第一个开始,遇到有意义的返回,否则返回最后一个表达式(注意不一定是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 还是可以的!

转载于:https://my.oschina.net/u/615191/blog/509043

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值