浅谈Javascript中的Label语句

Label 语句,按书本上说的语法是:

Label: statement

rush:js;"> 如: begin: for (var i = 0; i < 10 ; i++ ){ alert(i); }

一个比较典型的例子,看完后即明白 Label 的应用:(未添加 Label)

rush:js;"> var num = 0; for (var i = 0 ; i < 10 ; i++){ for (var j = 0 ; j < 10 ; j++){ if( i == 5 && j == 5 ){ break; } num++; } } alert(num); // 循环在 i 为5,j 为5的时候跳出 j循环,但会继续执行 i 循环,输出 95

对比使用了 Label 之后的程序:(添加 Label 后)

rush:js;"> var num = 0; outPoint: for (var i = 0 ; i < 10 ; i++){ for (var j = 0 ; j < 10 ; j++){ if( i == 5 && j == 5 ){ break outPoint; } num++; } } alert(num); // 循环在 i 为5,j 为5的时候跳出双循环,返回到outPoint层继续执行,输出 55

对比使用了break、continue语句:

rush:js;"> var num = 0;   outPoint:   for(var i = 0; i < 10; i++)   {   for(var j = 0; j < 10; j++)   {   if(i == 5 && j == 5)   {   continue outPoint;    }    num++;   }   }   alert(num); //95

从alert(num)的值可以看出,continue outPoint;语句的作用是跳出当前循环,并跳转到outPoint(标签)下的for循环继续执行。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...