javascript三元運算符用法實例
三元運算符用法實例:
如名字表示的三元運算符需要三個操作數。
語法是 條件 ? 結果1 : 結果2;. 這里你把條件寫在問號(?)的前面后面跟著用冒號(:)分隔的結果1和結果2。滿足條件時結果1否則結果2。
<script type="text/javascript">
var b=5;
(b == 5) ? a="true" : a="false";
document.write(" --------------------------- "+a);
</script>
結果: --------------------------- true
<script type="text/javascript">
var b=true;
(b == false) ? a="true" : a="false";
document.write(" --------------------------- "+a);
</script>
結果: --------------------------- false
編程語言中的三元運算符介紹
這種運算符比較罕見,因為它有三個運算對象。但它確實屬于運算符的一種,因為它最終也會生成一個值。這與本章后一節(jié)要講述的普通if-else語句是不同的。表達式采取下述形式:
布爾表達式 ? 值0:值1
若“布爾表達式”的結果為true,就計算“值0”,而且它的結果成為最終由運算符產生的值。但若“布爾表達式”的結果為false,計算的就是“值1”,而且它的結果成為最終由運算符產生的值。
當然,也可以換用普通的if-else語句(在后面介紹),但三元運算符更加簡潔。盡管C引以為傲的就是它是一種簡練的語言,而且三元運算符的引入多半就是為了體現這種高效率的編程,但假若您打算頻繁用它,還是要先多作一些思量——它很容易就會產生可讀性極差的代碼。
可將條件運算符用于自己的“副作用”,或用于它生成的值。但通常都應將其用于值,因為那樣做可將運算符與if-else明確區(qū)別開。下面便是一個例子:
static int ternary(int i) {
return i < 10 ? i * 100 : i * 10;
}
可以看出,假設用普通的if-else結構寫上述代碼,代碼量會比上面多出許多。如下所示:
static int alternative(int i) {
if (i < 10)
return i * 100;
return i * 10;
}
但第二種形式更易理解,而且不要求更多的錄入。所以在挑選三元運算符時,請務必權衡一下利弊。
相關文章
JavaScript設計模式開發(fā)中組合模式的使用教程
組合模式可以理解為樹狀結構,因此組合模式適合對大批對象的操作,特別是層次結構分明的,下面我們就來看看號稱面向對象的JavaScript設計模式開發(fā)中組合模式的使用教程2016-05-05
Javascript學習筆記之數組的遍歷和 length 屬性
我們一般用循環(huán)來遍歷數組,而循環(huán)一直是 JavaScript 性能問題的常見來源,有時循環(huán)用得不好會嚴重降低代碼的運行速度。數組的屬性可以分為三種:length屬性,索引屬性,其他屬性.和普通對象相比,數組對象特殊的地方就是它的length屬性和索引屬性。2014-11-11

