JavaScript中的if语句内使用'continue'的含义

5

在 for 循环中,我可以使用 breakcontinue。例如:

for(var i=0;i<5;i++){
  if(i=3){
    continue;   //I know this is absurd to use continue here but it's only for example
  }
}

但是,如果我想在for循环内的函数中使用continue怎么办。

例如:

for(var i=0;i<5;i++){
  theFunction(i);
} 

function theFunction(var x){
  if(x==3){
    continue;
  }
}

我知道这会抛出一个错误。但是,有没有办法使它工作或做类似的事情?


1
完全可以在循环上下文之外调用函数,但这种情况下 continue 毫无意义。因此不可能这样做。continue 必须在它所控制的循环内部语法上存在。 - deceze
2个回答

10

使用该函数的返回值,并根据其调用continue

for (var i = 0; i < 5; i++) {
    if (theFunction(i)) {
        continue;
    }
}

function theFunction(x){
    if (x == 3) {
        return true;
    }

    return false;
}

顺便提一下,在你的代码中有 if(i=3){,请注意你需要使用 == 或者 ===,单个等号是赋值操作。


糟糕!我的错。我知道赋值运算符和比较运算符之间的区别。那只是一个打字错误。顺便说一下,感谢你提供的聪明解决方案。 :) - camoflage

0
我的解决方案是,如果在函数中使用循环不是什么大问题的话。
function theFunction(initial, limit, jump) {
    for (var i = initial; i < limit ; i++) {
        if (i == jump) {
            continue;
        } else {
            console.log(i)
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接