关于循环和继续的问题

Str*_*rry 4 javascript loops

那么这实际上是将循环命名为nextLoop?所以当它说continue nextLoop,它会立即回到顶部吗?

   var total = 0;
        nextLoop:
        for ( var i = 0; i < 7; ++i ) {
            for ( var j = 0; j < 6 ; ++j ) {
                if ( i < 5 )
                continue nextLoop;
                total++;
                }
            total++;
        }
    total++;
    document.write( total );
Run Code Online (Sandbox Code Playgroud)

编辑:

那命名循环nextLoop:吗?如果是这样,你能说出什么呢?为什么命名东西的任何参考都有用?

T.J*_*der 8

是.当你有一个嵌套在另一个循环中的循环并且你想继续循环时,这很有用.这是关于它的MDC页面.所以在你的情况下,在i = 2循环期间,如果,在j循环内,你说continue nextLoop,它将跳出j循环,执行i增量,并继续i = 3.

使用continue标签通常不是好的做法; 它可以表明逻辑需要重构.但它在语法上是完全有效的,我希望有人会在他们认为绝对必要的情况下插入一个例子.

编辑回答您的编辑,标签(名称)循环的是nextLoop(没有冒号):你可以标记语句,然后使用这些标签作为目标continuebreak.查看规格了解详情.典型的应用是标记循环在你的榜样,要么continue或者break他们,但注意,break也适用于嵌套的switch语句-你可以像环贴上标签,并从内一个人的情况下,一个打破内到外的.您甚至可以混合使用它们,这样您就可以在交换机中打破循环(标签命名空间对两者都是通用的).