打破if语句

时间:2015-07-07 15:38:36

标签: javascript jshint

JSHint告诉我不要在if语句中使用标签(就jshint而言,似乎标签仅用于循环)。

forminjection: if (options.addToForm !== false) {
  if (!(options.addToForm instanceof jQuery)) {
    options.addToForm = $(element).closest("form");
    if (options.addToForm.length === 0)
    {
      options.addToForm = false;
      break forminjection;
    }
  }
  $(element).each(function(index){
    //do stuff
  });
}

所以我在上面的第一行收到警告,但也(自然地)在break行上收到警告。

更新:此代码按预期工作,但显然不是实现最终结果的正确方法。应该如何重构?

1 个答案:

答案 0 :(得分:1)

好的,我正在测试这个清理过的解决方案

if (options.addToForm instanceof jQuery || options.addToForm === true) {
  if (options.addToForm === true) {
    options.addToForm = $(element).closest("form");
  }
  if (options.addToForm.length === 0) {
    // No form found
    options.addToForm = false;
  }
}
if (options.addToForm !== false) {
  $(element).each(function(index) {
    // Do Stuff
  });
}