【发布时间】:2013-08-06 09:20:58
【问题描述】:
switch ("B")
{
case "A":
break;
case "B":
continue;
case "C":
break;
default:
break;
}
在 C++ 中简单正确的代码,但是当在稳定的 chrome 中用 javascript 编写时,它只会抛出一个错误“非法的 continue 语句”,看起来 continue 语句在 javascript 中的 switch 中是不允许的......听说过 return 但它只是返回和不继续...那么有没有办法继续在js中切换?
【问题讨论】:
-
您需要说明您希望这段代码做什么,因为
continue没有为switch定义(无论您多么希望它是),我们无法从您的要求中推断出您的要求不存在的语言功能示例。 -
经过努力,我已经确定您希望跳转到列表中的下一个案例(您一直称其为“break”,但“break”的意思是完全离开开关)。正如我在回答中所讨论的那样,根本没有语法可以做到这一点。
-
这很不幸,因为我遇到了一个可以从这种行为中受益的数据结构实例。
obj: { dims: [...], vars: [..., atts: [...], ...], atts: [...] },我使用路径来确定被引用的部分:dims.name、atts.name、vars.name.atts.attName,通常两个 atts 的处理方式相同,因为它们具有相同的内部属性。即switch (_path[0]) { case 'dims': break; case 'vars': ...if (_path[2] === 'atts') continue; /* on to 'atts'*/ break; case 'atts': break; }唉,必须简单地求助于可信赖的 if/elses。
标签: javascript windows google-chrome loops switch-statement