JavaScript基础知识-break和continue

               JavaScript基础知识-break和continue

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.break关键字会立即终止离他最近的那个循环语句

1>.JavaScript源代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>break和continue</title>
        
        <script type="text/javascript">

            for(var i=0;i<5;i++){
                document.write("@外层循环" + i + "<br />");
                for(var j=0;j<5;j++){
                    document.write("内层循环" + i + "<br />");
                }
            }
            
            document.write("<hr />")
            
            /**
             *     break关键字可以用来退出switch或循环语句,不能在if语句中使用break和continue。
             * 
             *     break关键字会立即终止离他最近的那个循环语句。
             */
            for(var i=0;i<5;i++){
                document.write("@外层循环" + i + "<br />");
                for(var j=0;j<5;j++){
                    break;
                    document.write("内层循环" + i + "<br />");
                }
            }
        </script>
    </head>
    <body>
    </body>
</html>

2>.浏览器打开以上代码渲染结果

二.在break后跟着一个lable,这样break将会结束指定的循环而不是最近的

1>.JavaScript源代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>break和continue</title>
        
        <script type="text/javascript">
            /**
             *     可以为循环创建一个label来标识当前的循环,语法格式为如下:
             *         label:循环语句
             *     使用break语句时,可以在break后跟着一个lable,这样break将会结束指定的循环而不是最近的
             */
            
            outer:
            for(var i=0;i<5;i++){
                document.write("@外层循环" + i + "<br />");
                for(var j=0;j<5;j++){
                    break outer;
                    document.write("内层循环" + i + "<br />");
                }
            }
        </script>
    </head>
    <body>
    </body>
</html>

2>.浏览器打开以上代码渲染结果

三.continue也是默认只会对离他最近的循环起作用。

1>.JavaScript源代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>break和continue</title>
        
        <script type="text/javascript">
            /**
             *    continue关键字可以用来跳过当前循环 ,同样continue也是默认只会对离他最近的循环起作用。
             */
            for(var i=0;i<5;i++){
                document.write(i + "<br />");
                if (i === 2){
                    continue;
                }
            }
            
            document.write("<hr />")
            
         
            for(var i=0;i<5;i++){
                document.write("@外层循环" + i + "<br />");
                for(var j=0;j<5;j++){
                    if (j === 1){
                        continue;
                    }
                    document.write("@内层循环" + j + "<br />");
                }
            }
        </script>
    </head>
    <body>
    </body>
</html>

2>.浏览器打开以上代码渲染结果

四.在continue后跟着一个lable,这样break将会结束指定的循环而不是最近的

1>.JavaScript源代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>break和continue</title>
        
        <script type="text/javascript">
            /**
             *    continue关键字可以用来跳过当前循环 ,同样continue也是默认只会对离他最近的循环起作用。
             */
            for(var i=0;i<5;i++){
                document.write("@外层循环" + i + "<br />");
                for(var j=0;j<5;j++){
                    if (j === 1){
                        continue;
                    }
                    document.write("@内层循环" + j + "<br />");
                }
            }
            
            document.write("<hr />")
            
            outer:
            for(var i=0;i<5;i++){
                document.write("@外层循环" + i + "<br />");
                for(var j=0;j<5;j++){
                    if (j === 1){
                        continue outer;
                    }
                    document.write("@内层循环" + j + "<br />");
                }
            }
    
        </script>
    </head>
    <body>
    </body>
</html>

2>.浏览器打开以上代码渲染结果

五.打印1-100000之间的所有质数并计时

1>.JavaScript源代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>break和continue</title>
        
        <script type="text/javascript">
            /**
             *     测试如下程序的性能,在程序执行之前开启计时器.
             *         onsole.time("计时器名称");
             *     一个网页中可能由多个计时器,因此它需要一个字符串作为参数,这个字符串将会作为计时器的标识。    
             */
            console.time("test");
        
        
            /**
             *     打印出1-100000之间所有的质数
             */
            for(var i=2;i<=100000;i++){
                var flag = true;
                
                //匹配的终止条件是对i开方对应的值,这样可以减少循环的次数
                for(var j=2;j<Math.sqrt(i);j++){
                    if(i%j == 0){
                        //如果进入则证明i不是质数,修改flag值为flase
                        flag = false;
                        //一旦进入判断,则证明i不可能时质数了,此时循环再执行已经没有任何意义了,使用break来结束循环
                        break;
                    }
                }
                
                //如果时质数,则打印i的值
                if(flag){
                    document.write(i+ "<br/>");
                }
            }
            
            
            //终止计时器,它也需要一个计时器的名称作为参数,告诉它需要停止哪个计时器。
            console.timeEnd("test")
    
        </script>
    </head>
    <body>
    </body>
</html>

2>.浏览器打开以上代码渲染结果

原文地址:https://www.cnblogs.com/yinzhengjie/p/12130972.html