&& : 结果为true时 取最后一项的值
结果为false时 去第一个为false的值
|| : 结果为true时 取 第一个为true的值
结果为false时 取最后一项的值
var aa = 1 && 2 && 3 && 4; //4 整个表达式为true 返回 最后一项
var bb = 1 && 2 && null && undefined && 4; // null 整个表达式的值为false 返回 第一个为false的项 即 null
var a = null || '' || 3 || 4;//3 整个表达式的值为 true 返回 第一个为 true的项 即 3
var a = null || 0 || undefined || NaN || '' || false; // false 整个表达式为false 返回 最后一项的值
在js逻辑判断中 ' ' , null , 0 , undefined , NaN , false 都会判断为false (好像没有遗漏的吧)其他情况 为true
无论是 $$还是 || 从左到右 开始算起 总是返回 能立刻确定整个表达式是否为真假的那一项的值
说的不够严谨 但是可以这么理解