位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 流程控制 label 和 break 语句

提问人:刘团圆发布时间:2020-11-24

■知识点

在JavaScript中,使用label语句可以为一行语句添加标签,以便在复杂的结构中设置跳转目标。其语法格式如下:

label : statements


break语句能够结束当前for、for/in> while、do/while或者switch语句的执行。同时break可以接受一个可选的标签名,来决定跳出的结构语句。其语法格式如下:

break label;

如果没有设置标签名,则表示跳出当前最内层结构。

■实例设计

【示例1】下面的示例设计在客户端查找document的bgColor属性。如果完全遍历document对象,会浪费时间,因此设计一个条件,判断所枚举的属性名是否等于“bgColor”,如果相等,则使用break语句跳出循环。

for(i in document){

    if(i.toStringO == "bgColor"){

        document.write ("document." + i + " = " + document [i] + "<br />");

        break;

    }

}

在上面的代码中,break语句并非跳出当前的if结构体,而是跳出当前最内层的循环结构。

【示例2】在下面嵌套的结构中,break语句并没有跳出for/in结构,它仅仅退出了switch结构。

for(i in document){

    switch(i.toString()){ 

        case "bgColor":

            document.write("document." + i + "=" + document[i] + "<br />"); 

            break; 

        default:

            document .write ("没有找到");

    }

}

【示例3】针对示例2,可以为for/in语句定义一个标签outloop,然后在最内层的break语句中设置该标签名,这样当条件满足时就可以跳出最外层的for/iii循环结构。

outloop:for(i in document){ 

    switch(i.toString()){ 

        case "bgColor":

            document.write("document." + i + + document[i] + "<br />");

            break outloop; 

        default:

            document .write ("没有找到”);

■小结

    break语句和label语句配合使用仅限于嵌套的循环结构,或者嵌套的switch结构,且需要退出非当前层结构时。break与标签名之间不能包含换行符,否则JavaScript会解析为两个句子。

    break语句的主要功能是提前结束循环或多重分支,主要用在无法预控的环境下,避免死循环或者空循环。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部