javascript - 如何减少javascript中的多个if条件

标签 javascript

<分区>

我在 if 中有多个条件,如下所示

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

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

最佳答案

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

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) ) { ... }

关于javascript - 如何减少javascript中的多个if条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18894261/

相关文章:

javascript - ajax、php、mysql 和 javascript 的棘手情况

javascript - 函数未定义,不知道为什么

javascript - baseHTTPserver 不能使用 javascript 库

javascript - Monaca/Onsen 2.0 - 图表库在 <ons-navigator> 中不起作用(SVG 和 Canvas)

javascript - 如何判断正在使用哪个 JSON 对象(Crockford 的或其他的)?

javascript - 是否可以拖动从 geojson 文件获取坐标的标记?

javascript - 单击文本时 e.PreventDefault() 不起作用

javascript - 使用Google脚本从Google表格中的单元格列表中获取数组

javascript - 如何在 Bluemix 上安装 moment-timezone.js?

Javascript:设置对象属性