Javascript:使用 "label" 时出现奇怪的语法错误
Javascript: weird syntax error when using "label"
这段代码
abc:
var i=0;
for (; i < 10; ++i)
if (i == 8) break abc;
有运行时异常,说
SyntaxError: Undefined label 'abc'
如果我删除
行
var i=0;
那就OK了
这对我来说很奇怪。
javascript 是否需要任何标签,如果被 "break"/"continue" 使用,定义仅适用于紧随其后的代码块,否则无法访问?
谢谢。
来自MDN:
The break statement needs to be nested within the referenced label.
所以,是的。
您的标签需要直接在循环之前:
var i=0;
abc:
for (; i < 10; ++i)
if (i == 8) break abc;
这段代码
abc:
var i=0;
for (; i < 10; ++i)
if (i == 8) break abc;
有运行时异常,说
SyntaxError: Undefined label 'abc'
如果我删除
行var i=0;
那就OK了
这对我来说很奇怪。 javascript 是否需要任何标签,如果被 "break"/"continue" 使用,定义仅适用于紧随其后的代码块,否则无法访问? 谢谢。
来自MDN:
The break statement needs to be nested within the referenced label.
所以,是的。
您的标签需要直接在循环之前:
var i=0;
abc:
for (; i < 10; ++i)
if (i == 8) break abc;