沒想到會有人收藏,並且這些不是我本身悟出來的,是網絡上找到的一篇文章我讀懂後轉過來的,原文是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("你好");