BAS*_*LIO 21 javascript for-loop continue switch-statement
我必须使用什么命令,才能离开for循环,也可以//code inside直接从跳转到//code after
//code before
for(var a in b)
{
switch(something)
{
case something:
{
//code inside
break;
}
}
}
//code after
Run Code Online (Sandbox Code Playgroud)
Bra*_*tie 23
在需要退出时使用另一个变量标记:
var b = { firstName: 'Peter', lastName: 'Smith' };
var keepGoing = true;
for (var a in b) {
switch (true) {
case 1:
keepGoing = false;
break;
}
if (!keepGoing) break;
console.log('switch end');
}
console.log('for end');Run Code Online (Sandbox Code Playgroud)
Sab*_*kar 19
你可以用label.有标签声明并打破该标签.outerLoop是我在这里使用的标签.
//code before
outerLoop:
for (var a in b) {
switch (something) {
case 'case1':
//code inside
break outerLoop;
}
}
//code after
Run Code Online (Sandbox Code Playgroud)
lon*_*day 15
不幸的是,Javascript没有允许break通过多个级别.最简单的方法是return通过创建匿名函数来利用语句的强大功能:
//code before
(function () {
for (var a in b) {
switch (something) {
case something:
{
//code inside
return;
}
}
}
}());
//code after
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为return离开函数,因此隐式地离开循环,直接移动你code after
小智 9
这取决于你想要完成什么......我通常做的一件事是这样的:
//code before
for(var a in b)
{
var breakFor = false;
switch(something)
{
case something:
{
//code inside
breakFor = true;
break;
}
}
if (breakFor)
break;
}
//code after
Run Code Online (Sandbox Code Playgroud)