没想到会有人收藏,并且这些不是我本身悟出来的,是网络上找到的一篇文章我读懂后转过来的,原文是http://www.jb51.net/article/21339.htmjavascript
例1:用于赋值
&&:从左往右依次判断,当当前值为true则继续,为false则返回此值(是返回未转换为布尔值时的原值哦)
|| : 从左往右依次判断,当当前值为false则继续,为true则返回此值(是返回未转换为布尔值时的原值哦)java
// => 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 通过屡次判断的赋值网络
/* 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 与对象形式的变量合体.net
/* 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 用于执行语句code
if(a >=5){alert("你好");} //能够写成: a >= 5 && alert("你好");