退出if语句

Break out of an if statement

本文关键字:语句 if 退出      更新时间:2023-09-26

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行。

Update:这段代码按预期工作,但显然不是实现最终结果的正确方式。它应该如何重构?

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

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