js && ||
默认 "" NaN undefined 0 false null 为false
&& 表达式 :
若第一个表达式为真 则结果为第二个表达式的值 若第一个表达式为false 则结果为第一个表达式的值 (条件判断全真才为真 最终结果转换为boolean )
var a=2 && 3 a结果:3 if(a) (条件判断全真才为真 a最终结果转换为boolean true)
var a="" && 4 a结果:""
var b=5 && "" b结果:"" if(b) (条件判断全真才为真 b最终结果转换为boolean false)
|| 作为表达式:
若第一个表达式为真结果为第一个表达的值 若第一个表达式为假则结果为第二个表达的值
2>1 && console.log(333) 若第一个表达式为真才会执行后面的语句 若第一个表达式为false 则后面语句不执行
var a=2 || 3 a结果:2 if(a) (有一个真就为真 a最终结果转换为boolean false)
var a=0 || 3 a结果:3
var eve=event || window.event 若第一个表达式为真结果为第一个表达的值 若第一个表达式为假则结果为第二个表达的值