js中「||」和「&&」的高級用法

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