2014年6月13日 星期五

[JavaScript] if, else 的簡短寫法

JavaScript 是屬於函式語言?所以在 if, else 中失去了效率,變相就有了以下的取代方法,
整理了一下代碼如下:

  1.  // 先定義要用到的變量
  2.  var a = 1b = 0 , c = "";
  3.  
  4.  /* 寫法一 */
  5.  // 簡寫:
  6.  a && (c += "OK");
  7.  
  8.  // 正寫:
  9.  if (a) {
  10.      c += "OK";
  11.  }
  12.  
  13.  /* 寫法二 */
  14.  // 簡寫:
  15.  b || (b = 2);
  16.  
  17.  // 正寫:
  18.  if (!b) {
  19.      b = 2;
  20.  }
  21.  
  22.  /* 寫法三 */
  23.  // 簡寫:
  24.  a ? ( (c = "yes")(b = 1) ) : ( (c = "no")(b = 2) );
  25.  
  26.  // 正寫
  27.  if (a) {
  28.      c = "yes";
  29.      b = 1;
  30.  }else{
  31.      c = "no";
  32.      b = 2;
  33.  }
  34.  
  35.  /* 寫法四 */
  36.  // 簡寫 (1):
  37.  (a == window.getElementById("c")) && (a.style.display = "none");
  38.  
  39.  // 簡寫 (2):
  40.  (a == window.getElementById("c")) ? a.style.display = "none" : "";
  41.  
  42.  // 正寫:
  43.  if (a == window.getElementById("c")) {
  44.      a.style.display = "none";
  45.  }
  46.  
  47.  /* 寫法五 */
  48.  // 簡寫
  49.  return a.nodeType != 3 
  50.          ? a.tagName 
  51.          : a.setIntval 
  52.              ? "window" 
  53.              : "other"
  54.  
  55.  // 正寫
  56.  if (a.nodeType != 3) {
  57.      return a.tageName;
  58.  }else if (a.setIntval) {
  59.      return "window";
  60.  }else{
  61.      return "other";
  62.  }

資料來源:筆記與程式

沒有留言:

張貼留言