Javascript:使用"标签"时出现奇怪的语法错误

时间:2016-08-05 09:46:49

标签: javascript loops label undefined

此代码

@Test(expected=DaoException.class)
public void testClass() {
    doThrow(Exception.class).when(testDAO).getTestData();
    testDAO.getTestData();
}

有运行时异常,说

abc:
var i=0;
for (; i < 10; ++i)
    if (i == 8) break abc;

如果我删除了

SyntaxError: Undefined label 'abc'

然后就可以了。

这对我来说很奇怪。 javascript是否需要任何标签,如果&#34; break&#34; /&#34;继续&#34;,定义仅适用于其后的代码块,或者它无法访问? 感谢。

2 个答案:

答案 0 :(得分:2)

来自MDN

  

break语句需要嵌套在引用的标签中。

所以,是的。

答案 1 :(得分:0)

您的标签需要直接在循环之前:

var i=0;
abc:
for (; i < 10; ++i)
    if (i == 8) break abc;