JS基础 -- break和continue的使用

 /*
         * break和continue的实例和讲解
         * 
         * break关键字只可以用来退出switch或循环语句
         * break关键字不能用于if判断
         * break关键字会结束距离它最近的循环
         */
        //for循环中可以使用,if判断并且if内可以使用break,但是if判断和break结合使用的前提是 必须 在for循环内结合使用
                    for(var i = 0; i<5; i++){
                        alert(i);
                        /*
                         * 也不能全说if不能使用,只是在if中使用break的前提条件是 必须 在for循环内的使用
                         */
                        if(i == 2){
                            break;
                        }
                    }
        //结束距离它最近的循环
                    for(var i = 0; i < 5; i++) {
                        for(var j = 0; j < 5; j++) {
                            break;
                        }
                    }
        /*
         * 测试代码使用时间
         * console.time()的测试结果在HBuilder开发工具中显示不了,只能在浏览器的控制台里显示
         * console.time()和console.timeEnd()是成对使用,并且在使用时需要把测试的代码放在
         * console.time()和console.timeEnd()之间才能测试出你想要测试的那段代码
         * 还有就是当你要测试的代码中有注释,那么这段代码使用时间也会加长。
         */
                    console.time('a');
                    for(var i = 0; i < 5; i++) {
                        
                    }
                    console.timeEnd('a');
        
        /*
         * 我希望内层循环的break终止外层循环,那该如何做?
         * 在JavaScript中提供了一个方案,那就是 text:for(){}.
         * text可以叫做代号或者名字,当内层循环想终止外层循环就需要这个名字,
         * 通过break掉这个名字来终止外层循环
         * 具体使用如下:
         */
                    a:
                    for(var i = 0; i < 5; i++) {
                        console.log('W--外层循环:'+i);
                        for(var j = 0; j < 5; j++) {
                            /*
                             * 当内层循环终止外层循环时,外层循环只会执行一次,除非内层循环使用if判断,并且把break a;放到if判断内
                             * 才会根据判断条件表达式的是多少来决定需要循环几次后,再终止外层循环
                             */
                            console.log('N--内层循环:'+j);
                            /*
                             * 想要终止外层循环就需要在 break 后面空一格后加上外层循环上面那个名字
                             */
                            break a;
                        }
                    }
        //continue的使用
        /*
         * continue关键字可以用来跳过当次循环
         * 同样continue也是默认只会对使用它的语句起作用,不会对使用它的语句之外的代码起作用,
         * 也就是当if判断使用了continue时,不会对if判断外面的for循环起作用,只会对使用continue的语句起作用;
         * 但是,如果for循环使用continue,那么for循环会停止运行
         */
                    for (var i = 1; i <= 5; i++) {
                        if (i == 2) {
                            //if判断使用continue会停止当前语句运行,不会影响for循环运行
                            /*
                             * 通过实验证明,当if判断的条件表达式内是 i 等等于 2,那么循环到与2相等时,会停止第 2 次的循环,
                             * 然后,for循环会提前进入到第 3 次循环,for循环会继续循环到它知道的次数.
                             * for循环打印的结果中没有输出 2 ,那是因为第 2 次循环时,遇到了continue,所以第 2 次循环终止了,
                             * 跳过了第 2 次循环,直接进入第 3 次循环
                             */
                            continue;
                        }
                        console.log('---->'+i);
                    }
        /*
         * 在上面说到break想要终止外层循环,需要一个名字,那么continue是否也能做到??
         * 答案是不能的,因为continue只会对距离它最近的循环起作用,如果for循环外层还有一个for循环,
         * 那么continue只能做用到距离它最近的那个循环
         * 
         */
                    bs:
                    for(var i = 1; i <= 5; i++) {
                        
                        for(var j = 0; j < 5; j++) {
                            if (j == 3) {
                                continue bs;
                            }
                            console.log('------>'+j);
                        }
                        console.log('=====>'+i);
                    }
    原文作者:我常常问自己我是谁
    原文地址: https://www.jianshu.com/p/a833efde040c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞