没想到会有人收藏,而且这些不是我自己悟出来的,是网络上找到的一篇文章我读懂后转过来的,原文是http://www.jb51.net/article/21339.htm
例1:用于赋值
&&从左往右依次判断,当当前值为true则继续,为false则返回此值
||从左往右依次判断,当当前值为false则继续,为true则返回此值
javascript
// => aaa var attr = true && 4 && "aaa"; // => 0 var attr = true && 0 && "aaa"; // => 100 var attr = 100 || 12; // => e var attr = "e" || "hahaha" // => hahaha var attr = "" || "hahaha"
例2 经过多次判断的赋值
javascript
/* x>=15时 => 4 x>=12时 => 3 x>=10时 => 2 x>=5时 => 1 x<5时 => 0 */ console.log((x>=15 && 4) || (x>=12 && 3) || (x>=10 && 2) || (x>=5 && 1) || 0);
例3 与对象形式的变量合体
javascript
/* x=15 时 => 4 x=12 时 => 3 x=10 时 => 2 x=5 时 => 1 其它 => 0 */ console.log( {'5':1,'10':2,'12':3,'15':4}[x] || 0 );
例4 用于执行语句
javascript
if(a >=5){alert("你好");} //可以写成: a >= 5 && alert("你好");