1

我有多个条件,如下所示

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;  
}

有什么办法可以减少代码。

4

1 回答 1

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) ) { ... }
于 2013-09-19T12:14:53.530 回答