这篇文章主要为大家详细介绍了 javascript 实现 label 标签跳出循环操作,感兴趣的朋友可以参考一下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
出场:
首先我们来说说为什么需要 label 标签,虽然我们已经知道有 break,continue 跳出循环,但如果是多重循环那么它们就显的无能为力了,所以就出现了 label 这个标签来为我们服务。
我们先来看看单独使用 break 的情况
- for(var i=0;i<4;i++){
- for(var j=0;j<4;j++){
- if(i===1&&j===1){
- break;
- }else{
- console.log("i:"+i+"--j:"+j);
- }
- }
- }
运行结果:
- i:0--j:0
- i:0--j:1
- i:0--j:2
- i:0--j:3
- i:1--j:0
- 当i和j===1的时候,它只跳出了j循环,因此它又会回到i循环体
- i:2--j:0
- i:2--j:1
- i:2--j:2
- i:2--j:3
- i:3--j:0
- i:3--j:1
- i:3--j:2
- i:3--j:3
从上面的运行结果中我们可以发现如果单纯的使用 break 远远不能够完成一些复杂的操作。
- bk:for(var i=0;i<4;i++){
- for(var j=0;j<4;j++){
- if(i===1&&j===1){
- break bk;
- }else{
- console.log("i:"+i+"--j:"+j);
- }
- }
- }
运行结果:
- 1 i:0--j:0
- 2 i:0--j:1
- 3 i:0--j:2
- 4 i:0--j:3
- 5 i:1--j:0
成功跳出循环。
提试:bk 只是一个名称,你随意,当然不能是 js 中的关键字
continue 用法一样,不举例。
来源: http://www.phperz.com/article/17/0306/266806.html