JavaScript逻辑运算与或非

//逻辑运算 &&(与) ||(或) !(非)
   //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);

你可能感兴趣的:(前端专题学习汇总)