布尔操作符(!、&、|)
1 逻辑非 !
无论这个值是什么数据类型,这个操作符都会返回一个布尔值
将一个值转化为与其对应的布尔值可用 !! ( 实际上会模拟Boolean()转型函数的行为 )
2 逻辑与 &&
只有两个操作符都为true的时候,结果才为true,其他都为 false(前提是两个操作符都是布尔值)........下面是重点
1. 第一个操作数是对象,则返回第二个操作数
2. 第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象否则返回第一个操作数
3. 两个操作数都是对象,则返回第二个操作数
4. 有一个操作数是null,则返回null5. 有一个操作数是NaN, 则返回NaN
6. 有一个操作数是undefined,则返回undefined
3 逻辑或 ||
两个操作数只要有个为ture,结果就为true(前提是两个操作符都是布尔值)........下面是重点
1. 第一个操作数是对象,则返回第一个操作数2. 第一个操作数的求值结果为false,则返回第二个操作数3. 两个操作数都是对象,则返回第一个操作数4. 两个操作数都是null,则返回null5. 两个操作数都是NaN,则返回NaN6. 两个操作数都是undefined,则返回undefined