从 Javascript 中的 if 块退出

pyt*_*der 5 javascript if-statement

我想从下面的 Javascript 块中退出。如果我返回,那么它不会检查下一个 if 条件。我怎么做?

if ($('#id1').length > 0) {

    if(yester_energy == "NaN" || yester_energy == 0){
      //break from #id1
    }

    else{
      //something
    }
    $("#abc").html(somthing)
}

if ($('#id2').length > 0) {

        if(yester_energy == "NaN" || yester_energy == 0){
          //break from #id2
        }

        else{
          //something
        }
}
Run Code Online (Sandbox Code Playgroud)

小智 10

聚会太晚了,但对于搜索人员来说,您可以使用名为labeling. 这不是好的做法,但在极少数情况下可以应用。基本上,您可以为if要中断的语句指定一个名称。以及break来自指定名称的语句调用中的任何位置。

代码示例:

my_if: if (condition) { 
    // do stuff
    break my_if;
    // not do stuff
}
Run Code Online (Sandbox Code Playgroud)

在您的特定情况下:

id1: if ($('#id1').length > 0) {
    if(yester_energy == "NaN" || yester_energy == 0){
        break id1;
    }else{
      //something
    }
    $("#abc").html(somthing)
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请labeling访问:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label#Syntax


Tre*_*ium 6

甚至在聚会之后...通常在这种情况下,我会使用if和的组合,do...while如下所示...

if ( condition ) do {

  // processing

  if ( exit_condition ) break;

  // more processing...

} while ( false );
Run Code Online (Sandbox Code Playgroud)

因此,当break遇到 时,它适用于do...while循环,并且在 后继续处理while,有效地突破外部if语句...


Elo*_*han 2

之后的所有代码都if(isNaN(yester_energy) || yester_energy == 0)else块中,因此如果您的数据与 this 匹配,则不会执行它if。而且你不需要任何其他东西。

另外,如果你想检查变量是否有NaN值,那么使用isNaN()函数。你不能只是比较它。