在Javascript中退出if块

时间:2013-11-22 07:23:08

标签: javascript if-statement

我想在Javascript中退出if if block。如果我返回,那么它不会检查下一个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
        }
}

4 个答案:

答案 0 :(得分:2)

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

另外,如果要检查变量是否得到NaN值,请使用isNaN()函数。你无法比较它。

答案 1 :(得分:2)

甚至晚于聚会...通常在这种情况下,我将ifdo...while的组合使用如下...

if ( condition ) do {

  // processing

  if ( exit_condition ) break;

  // more processing...

} while ( false );

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

答案 2 :(得分:0)

使用switch语句,

   switch(n)
    {
    case 1:
      execute code block 1
      break;
    case 2:
      execute code block 2
      break;
    default:
      code to be executed if n is different from case 1 and 2
    }

答案 3 :(得分:0)

聚会晚了,但是对于那些被搜索到的人来说,您可以使用名为labeling的东西。这不是一个好习惯,但是在极少数情况下可以应用。基本上,您可以为要中断的if语句分配名称。并从指定名称的任何地方调用语句break

代码示例:

my_if: if (condition) { 
    // do stuff
    break my_if;
    // not do stuff
}

在您的特定情况下:

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

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