首頁  >  文章  >  web前端  >  javascript三元運算子所使用的一些技巧實例詳解

javascript三元運算子所使用的一些技巧實例詳解

伊谢尔伦
伊谢尔伦原創
2017-07-19 09:27:321506瀏覽

三元運算子

如名字表示的三元運算子需要三個運算元。

語法是 條件 ? 結果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

程式語言中的三元運算子介紹 

這種運算子比較罕見,因為它有三個運算物件。但它確實屬於運算符的一種,因為它最終也會產生一個值。這與本章後一節要講述的普通if-else語句是不同的。表達式採取下述形式:

  布尔表达式 ? 值0:值1

  若“布林表達式”的結果為true,就計算“值0”,而且它的結果成為最終由運算子產生的值。但若“布林表達式”的結果為false,計算的就是“值1”,而且它的結果成為最終由運算子產生的值。

  當然,也可以換用普通的if-else語句(在後面介紹),但三元運算子比較簡潔。儘管C引以為傲的就是它是一種簡練的語言,而且三元運算符的引入多半就是為了體現這種高效率的編程,但假若您打算頻繁用它,還是要先多作一些思量— —它很容易就會產生可讀性極差的程式碼。

  可將條件運算子用於自己的“副作用”,或用於它產生的值。但通常都應將其用於值,因為那樣做可將運算子與if-else明確區分開。下面便是一個例子:

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三元運算子所使用的一些技巧實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn