1 &&

2. ||

3. !

①逻辑运算符两侧都是布尔类型的值

console.log(true && false)//false;

console.log(true || false)//true

console.log(! true)//false

②逻辑运算符的优先级: ! >  &&  >  ||(非与或)

短路算法①&& true抛出后面的,false 抛出自己,0 null NaN "" undefined 都当作false(抛真后面的)

 

 

 

 

 1)

 

           这两个例子一起看 null为false 抛出哈哈,哈哈没有被声明为字符串报错,上面没报错是因为,程序并没有执行到被抛出的部分,这就是短路算法的名称由来

 2)if(a){b} //菜鸟写法 if a执行 b            

      a&&b //大神写法  利用短路算法     

             ② || 的短路算法:与true相反

                 a && b, a 为真抛出b,a 为假抛出a.(抛真后面的)

                  a || b, a 为真抛出a,a 为假抛出b(抛真的)

短路算法重要案例:多个逻辑运算符的例子