加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 教程 > 正文

JavaScript中快速退出多重循环的方法

发布时间:2021-12-09 20:02:33 所属栏目:教程 来源:互联网
导读:在双重循环或多重循环中判断条件,条件符合时跳出整个嵌套循环体是常见的程序逻辑。在JavaScript中有哪些跳出的方法呢?楼主简单整理了一下。 一. 使用多个break语句跳出 var breaked = false; for (var i = 0; i 3; i++) { for (var j = 0; j 3; j++) { if (
 在双重循环或多重循环中判断条件,条件符合时跳出整个嵌套循环体是常见的程序逻辑。在JavaScript中有哪些跳出的方法呢?楼主简单整理了一下。
 
一. 使用多个break语句跳出
 
var breaked = false;
for (var i = 0; i < 3; i++) {
    for (var j = 0; j < 3; j++) {
        if (i === 1 && j === 1) {
            breaked = true;
            break;
        }
        console.log('i=' + i + ',j=' + j);
    }
    if (breaked) {
        break;
    }
}
 
这是比较常见的跳出方法,双重循环的时候还可以接受,一旦循环的次数多了break语句会反复出现,代码阅读起来并不是很友好。
 
二. 使用break+label的形式跳出
 
loop:
for (var i = 0; i < 3; i++) {
    for (var j = 0; j < 3; j++) {
        if (i === 1 && j === 1) {
            break loop;
        }
        console.log('i=' + i + ',j=' + j);
    }
}
 
JavaScript中是不能使用goto语句的,但是label可以和break、continue语句联合使用。在最外层的循环之外打上自定义标签,并在break时使用,就可以退出最外层循环了。当然,label这种汇编语言时期的上古遗迹是不被推荐使用的,在大一的C语言课上老师就教导我们这样的编程习惯会打断人的结构性思维等等…而且同事阅读起来也会很别扭。
 
三. 使用iife + return
 
(function () {
    for (var i = 0; i < 3; i++) {
        for (var j = 0; j < 3; j++) {
            if (i === 1 && j === 1) {
                return;
            }
            console.log('i=' + i + ',j=' + j);
        }
    }
})();
 
在循环体外包一层函数,想退出就退出,还能return返回值,简单粗暴,大家都能看明白,简直不要太好,哈哈

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读