【问题标题】:Do the 'continue' and 'break' statements work with a for...in?'continue' 和 'break' 语句是否与 for...in 一起使用?
【发布时间】:2013-08-25 10:56:32
【问题描述】:

标题说明了一切,以更正式的方式确认当前问题:

'continue' 和 'break' 语句是否与 JavaScript 中的 for...in 循环一起使用?

我尝试在 for...in 循环中使用标签,但它彻底破坏了应用程序...如果我不能这样做,我还能做些什么吗?

我需要此功能,因为我正在检查错误,如果发现有关当前项目的错误,我想报告此错误,然后继续下一个项目。如果可能,首选使用纯 JavaScript 的解决方案。

提前感谢您的帮助!

【问题讨论】:

  • 您为什么不尝试而不是询问?它会更快。
  • 我做了...我的 continue 语句不起作用...所以我想我会问...我在 for...in 循环中添加了一个标签,并在添加错误之后'继续标签;'但它破坏了程序......
  • 这里很好地解释了“继续”和“中断”之间的区别:javascript 中的语句:w3schools.com/js/js_break.asp
  • @Örvar:我已经看到了,谢谢...这是我最初的参考...我的continue label; 仍然无法正常工作...请记住我没有这样做之前,但它看起来不错......
  • @user1360809:那么请向我们展示您的代码!

标签: javascript object for-loop


【解决方案1】:

是的。他们会的。

for(var i in window){
   break;
   console.log(i);
}

什么都不打印。

如果我们检查the language specification,我们可以看到:

中断评估为:Return (break, empty, empty).

终止当前块。

更一般地说 - 它可以与块一起使用:

{
    break; // this works, no alert
    alert("HI");   
}

while(true){
    break; // this works, no alert
    alert("HI");   
}

for(var fake in window){
    break; // this works, no alert
    alert("HI");   
}

【讨论】:

  • 您能评论一下continue 语句的使用,它使用带有for...in 的标签吗?谢谢!
  • @user1360809 很有可能——你不应该在for.. in 中使用标签或continue,但关键是它们适用于... in(就像休息一样!)他们在任何街区都这样做。
  • @user1360809 这个答案解决了您的问题吗?如果没有,我该如何改进?
【解决方案2】:

绝对是的。 很容易在 Firebug 上尝试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-04
    • 2010-10-02
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2016-10-13
    相关资源
    最近更新 更多