Javascript 中 && 和 || 的有趣用法

1
2
3
if(a >= 5){ 
alert("你好");
}

一个简单的判断可以像上面这么写,若想更加简洁则可以用三目运算符:a >= 5 ? alert("你好") : alert("我不好")

还有一种更加有趣的写法便是:a >= 5 && alert("你好") || alert("我不好")

那么,回过头来说道说道 && || 的语法特性,举个栗子:a && b,当a为真时则返回b(不管b是否为真值),当 a 为假时则立即返回a。同样:a || b,a 为真时则立即返回a,a 为假时则返回 b(不管 b 是否为真值)

关于||,一般比较广泛的用法是:var Yahoo = Yahoo || {}; 若是 && || 组合使用:a &&  b || c,则可以达到 if…else 的效果,但前提是 b 必须是真值,否则不管a为何值都只会返回 c