深入理解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对象。
spa


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

相关文章
相关标签/搜索