逻辑运算符执行顺序,判断条件
&& —逻辑与远算(都真才真/有假就假)
|| —逻辑或运算 (有真就真/都假才假)
! —逻辑非运算 (隐性转换成布尔值,并有取反功能)
- && (逻辑与) 优先级高于||(逻辑或)
&& —逻辑与远算
1.【当&&判断条件时,如果发现有一个false时,后面条件不会被执行,这种现象为:短路操作】
如:)
var box=document.getElementById("box3")&&document.getElementById("box2 ");
box.style.background="#eaadea";
//box3不存在,boxb存在
//执行到box3,为false,所以不往下执行
2.【如果两个条件都为true,以最后一个true为判断】
如:)
var box=document.getElementById("box1")&&document.getElementById("box2");
box.style.background="#eaadea";
//box1存在,box2也存在
//结果box2变色
|| —逻辑或运算 (有真就真/都假才假)
1.【如果发现有一个true时,后面条件不会被执行,这种现象为:短路操作】
例1)
var box=document.getElementById("box1")||document.getElementById("box2");
box.style.background="#eaadea";
//box1存在,box2也存在
//执行到第一个条件为true,所以不往下执行,所以结果为第一个变色
例2)
var box=document.getElementById("box3")||document.getElementById("box2");
box.style.background="#eaadea";
//box3不存在,box2存在
//执行到第一个条件为false,所以往下执行,第二个为true ,所以结果为第2个变色
! —逻辑非运算
var box=8>3;
console.log(!box)//false
console.log(! "") //true
!可以隐性转换成布尔值,并有取反功能