javascript - 在 JavaScript 中使用标签是不好的做法吗?

标签 javascript loops label nested-loops break

我刚刚发现关于在 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/

相关文章:

Javascript - 一切都超出范围

javascript - 如何使用 <a4j :jsFunction><a4j:actionparam>

java - 使用嵌套循环根据数字陷入缩进空格

ruby - 如何对 ruby​​ 循环中的每个 n 操作执行某些操作?

javascript - 如何将 jqplot yaxis 格式化为整数

javascript - 将嵌套键设置为 False

javascript - 垂直可折叠面板 - 在加载时显示为折叠

json - 在 python 中迭代字典值的最快方法是什么?

java - 标签在 Vaadin 的 GridLayout 上消失

html - 输入标签后面的位置标签