在javascript中正确使用continue

时间:2011-05-04 15:29:22

标签: javascript loops

我一直相信您使用继续,如下所示:

var i;

for (i = 0;  i < 10; i++) {
  if(i%2===0) {
    continue;
  }
}   

var i, myloop;

myloop: for (i = 0;  i < 10; i++) {
  if(i%2===0) {
    continue myloop;
  }
}

但是当我通过JSLint运行这两段代码时,我收到错误:


Problem at line 5 character 5: Unexpected 'continue'.
     continue;

我做错了什么?什么是正确的用法?

5 个答案:

答案 0 :(得分:5)

我想JSLint just hates continue

  

几乎总有更好的写作方式   更明确地定义您尝试不做的事情的陈述   诉诸继续。 JSLint是关于好的部分,而不是关于   零件是可以接受的。它迫使你使用比标准更高的标准   定义

     道格拉斯在他的书中说得最好:

     

“continue语句跳转到循环的顶部。我从未见过一块   没有通过重构来删除继续改进的代码   语句“。

答案 1 :(得分:3)

你必须勾选“Tolerate continue”,Crockford不会like it

答案 2 :(得分:0)

JSlint底部有一个选项

容忍继续

也许它有问题吗?

答案 3 :(得分:0)

JSLint不喜欢continue因为道格拉斯不喜欢它。

continue跳到下一次迭代。如果不插入,代码将继续执行。如果要退出循环,请使用break

答案 4 :(得分:0)

这对我来说足够好了。 // eslint-disable-next-line no-continue