&&(逻辑与)
若有一位假,则变量值为假;若值均为真,则变量值为&&最右边的值
var a = 0 && 1;//0
var a = 1 && 2 ;//2
var a = 0 && 1 && 2;//0
var a = 1 && 2 && 3;//3
var a = 1 && 0 && 3;//0
||(逻辑或)
遇到真值即返回,假值则为假的最后一位假
var a = 0 || null;//null
var a = 0 || 1;//1
var a = 1 || 2;//1
var a = 0 || NaN || false;//false
var a = 0 || 2 || false;//2
var a = 0 || 1 || 2;//1
&& (逻辑与) 和||(逻辑或)混合使用
考虑优先级:&& (逻辑与) 优先级高于||(逻辑或)
var a = 3 && 0 || 2; //2
var b = 3 || 0 && 2; // 3
var c= 0 || 2 && 3; // 3
真假值
false, 0, NaN, undefined, '', null //假值
对象、数组、正则、函数等。注意 '0'、'null'、'false'、{}、[]//真值