&& 和 || 和其他语言一样,在js中同样是一个双目运算符,执行逻辑运算与和或。
【例】:
var a = 1;
var b = 2;
a==1 && b==1; //false;
a==1 || b==1; //true;
在执行逻辑与 exp1 && exp2 运算的时候,如果exp1的结果为false,那么不会执行exp2,结果直接为false。
var a = 1;
var b = 2;
b == 1 && a++;
alert(a); //1
var a = 1;
var b = 2;
b == 1 || a++;
alert(a); //2
那么,我们可以利用这两点来优化代码中的 if 条件句或者 “?:”的三目运算。
例如:
判断如果a的值是1那么alert("执行!").
如果按照以前来写那么就是以下代码:
if(a == 1){
alert('执行!');
}
如果js基础好一点的可能会写成:
a == 1?alert('执行!'):'';
但是下面这种写法才是效率最好的:
a == 1 && alert('执行!');
或者
a != 1 || alert('执行!');