这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要为大家详细介绍了 javaScript 如何跳出多重循环 break、continue,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
先来说说 break 和 continue 之间的区别
摘自 JavaScript 高级程序设计
- for(var i=0;i<10;i++){
- if(i>5){
- break;
- }
- }
- console.log(i); ---6
• 当 i=5 和 10 的时候,会执行到 break,并退出循环
- for(var i=1;i<10;i++){
- if(i>5){
- continue;
- }
- num++;
- }
- console.log(num); ---4
- var num=0;
- for(var i=1;i<10;i++){
- if(i%5==0){
- continue;
- }
- num++;
- }
- console.log(num); ---8
• 当 i=5 或者 i=10 的时候,会按照 i 的值,继续执行 for 循环,并退出循环
当执行多重循环的时候
break 的情况
- outer:
- for(var i=0;i<10;i++){
- inter:
- for(var j=0;j<10;j++){
- if(i>5){
- console.log(i); ----6
- break outer;
- }
- }
- }
这是 break 到最外面循环里面的
- outer:
- for(var i=0;i<10;i++){
- inter:
- for(var j=0;j<10;j++){
- if(i>5){
- console.log(i); ----6,7,8,9
- break inter;
- }
- }
- }
这是 break 到内面的循环的时候,虽然暂时不会跳出,但是执行够 4 次以后,还是跳出了
continue 的情况
- var num=0;
- outer:
- for(var i=0;i<10;i++){
- inter:
- for(var j=0;j<10;j++){
- if(i>5){
- console.log(i); ----6,7,8,9
- continue outer;
- }
- num++;
- }
- }
- console.log(num); --- 60
凡是 i 大于或者等于 5 的时候都会弹出继续循环,所以,会少了四十次。
- var num=0;
- outer:
- for(var i=0;i<10;i++){
- inter:
- for(var j=0;j<10;j++){
- if(i>5){
- console.log(i); ----6,7,8,9
- continue inter;
- }
- num++;
- }
- }
- console.log(num); --- 60
同样的原理,循环还是会继续执行,只是少了 40 次,因为限制的一直是 i 的值,i 小于或者等于 5 都不会成立。
来源: http://www.phperz.com/article/17/0512/332187.html