美文网首页javascript基础学习JS基础练习
JS基础 -- break和continue的使用

JS基础 -- break和continue的使用

作者: 我常常问自己我是谁 | 来源:发表于2018-05-25 10:55 被阅读0次
     /*
             * 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);
                        }

    相关文章

      网友评论

        本文标题:JS基础 -- break和continue的使用

        本文链接:https://www.haomeiwen.com/subject/rmyyjftx.html