我刚刚发现关于在 JavaScript 中使用 label 的方法,例如:
for (var i in team) {
if(i === "something") {
break doThis: //Goto the label
} else {
doThat();
}
}
doThis: //Label
doIt();
直到现在我才听说过这个,我在网上也找不到太多关于它的信息,我开始认为这是有原因的。
在我看来,这类似于其他语言中的 GOTO
语句,会被视为不好的做法。我的假设是否正确?
最佳答案
JavaScript 中的标签主要与 break 一起使用,或者在嵌套循环中继续以能够打破外部循环,或者从内部循环中的代码继续外部循环:
outer:
for (let i = 0; i < 10; i++)
{
let k = 5;
for (let j = 0; j < 10; j++) // inner loop
if (j > 5)
break; // inner
else
continue outer; // it will go to next iteration of outer loop
}
如果您在没有“外部”标签的情况下使用继续,它将转到内部循环的下一次迭代。这就是为什么需要在 Javascript 中使用标签。
关于javascript - 在 JavaScript 中使用标签是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906762/