//逻辑运算 &&(与) ||(或) !(非)
//javascript中的逻辑运算两边的操作数,可以是任意类型的任意值
//默认布尔值:当参与逻辑运算或判断语句中时,任意类型的任意值都有一个默认的布尔型的值
//与运算,只有当两边都是true时,结果才为true
// var re;
// re = true && true;
// console.log(re);//只有这个结果应该是true
// re = true && false;//逻辑运算符合交换律,false&&true和这个结果一样
// console.log(re);
// re = false && false;
// console.log(re);
// //或运算,只有两边都为false时,结果才为false
// re = true || true;
// console.log(re);
// re = true || false;//逻辑运算符合交换律,false||true和这个结果一样
// console.log(re);
// re = false || false;//只有这个结果应该是false
// console.log(re);
// //非运算 单元运算,将操作数的结果取反
// re = !true;
// console.log(re);
// re = !false;
// console.log(re);
// //其它数据类型参与逻辑运算时,
// //数值型,只有0和NaN的默认布尔值为false,其余都为true
// re = true && 0;
// console.log(re);
// re = true && 2;
// console.log(re);
//与运算的本质,一直向后找,直到找到第一个默认布尔值为false的值,将该值返回,
//如果没有为false的值,则返回最后一个值
// re = true && 2 && 3 && 1 && 0;
// console.log(re);
// re = true && 2 && 3 && 1 && 0 && 4;//不会运行到4这里,因为运行到0,就将0值返回了
// console.log(re);
// re = true && 2 && 3 && 1 && 4;
// console.log(re);
// //或运算的本质,一直向后找,直到找到第一个默认布尔值为true的值,直接返回该值
// //如果没有默认布尔型为true的值,则返回最后一个值
// re = false || 0;
// console.log(re);
// //哪种情况默认布尔型为False?只有以下六个值,其它值不管是什么类型都为true
// //false,0,null,undeifned,"",NaN
// re = 0 || false || "rr" || null || undefined;
// console.log(re);
// re = 0 || false || null || undefined || null;
// console.log(re);
转载请注明原文地址:https://blackberry.8miu.com/read-965.html