如何在javascript中减少多个if条件

时间:2013-09-19 12:10:21

标签: javascript

我有多个条件,如果如下:

if((readCookie("endData") != "" && 
  readCookie("lastRowArray") != "" && 
  readCookie("histClickedImgId") != "" && 
  readCookie("histClickedPage") != "" && 
  readCookie("remove_count") != "" && 
  readCookie("histBack") != "") && 
  (readCookie("endData") && 
  readCookie("lastRowArray") && 
  readCookie("histClickedImgId") && 
  readCookie("histClickedPage") && 
  readCookie("remove_count") && 
  readCookie("histBack") )){ 
    cdtChecked = true;  
}

有没有办法减少代码。

1 个答案:

答案 0 :(得分:2)

你可以写一个这样的新函数:

function allCookiesSet() {
  for (var i = 0; i < arguments.length; i++) {
    var arg = arguments[i];     
    if (!readCookie(arg)) return false;
  }
  return true;
}

修改 为了消除混淆,不需要检查cookie是否已设置和/或是否为空。空字符串在javascript中评估为 false

if (allCookiesSet(cookies) ) { ... }