JavaScript语句-label语句

label语句

使用label语句可以在代码中添加标签,以便将来使用。以下是label语句的语法:

label: statement

下面是一个示例:

start: for (var i=0, i<count; i++) {
    alert(i)
}

这个例子中定义的start标签将来可以由break或continue语句引用。加标签的语句一般都要与for语句等循环语句配合使用。

与break或continue配合使用

break和continue语句都可以和label语句联合使用,从而返回代码块中特定的位置。这种联合使用的情况多发生在循环嵌套的情况下,如下面的例子所示:

var num = 0;
outermost:
for(var i=0; i<10; i++){
    for(var j=0; j<10; j++){
        if(i === 5 && j === 5){
            break outermost;
        }
        num++;
    }
}
alert(num); //55

在这个例子中,outermost表示外层的for循环语句。如果每个循环都正常执行10次,则num++语句就会执行100次。但内部循环的break语句带了一个参数:要返回的标签。添加这个标签结果将导致不仅会退出内部的for循环,而且也会退出外部的for循环。为此,当变量i和j都等于5时,num的值正好是55。

同样continue语句也可以像这样和label语句联合使用。

var num = 0;
outermost:
for(var i=0; i<10; i++){
    for(var j=0; j<10; j++){
        if(i === 5 && j === 5){
            continue outermost;
        }
        num++;
    }
}
alert(num); //95

虽然联用break、continue和label语句能够执行复杂的操作,但如果过度使用,也会给调试带来麻烦。在此建议,使用label语句时一定要使用描述性的标签,同时不要嵌套过多的循环。

猜你喜欢

转载自www.cnblogs.com/cherishSmile/p/11102455.html