0
点赞
收藏
分享

微信扫一扫

JS基础学习(五):多重循环、调试、函数一等公民、break、continue

前行的跋涉者 2022-04-21 阅读 70

1.函数一等公民

函数是一等公民的意思是当var 一个变量是,这个变量名和function的functionName名相同时,将会覆盖var的值使用函数function内的执行语句。

实例:

<script>

        /*复习一下: var有变量提升 let 没有*/

        // document.write(a)

        // let a = '123'                                                //结果是没有输出,没有变量提升

        //var a ='123'                                                //结果是undefined,初始值,右边梁提升

                        注意: 函数也有变量提升 所以函数可以在定义之前使用

        /* ★下面这个例子 体现了函数是一等公民 */

        /* 函数 和 var 都会变量提升,但是函数的优先级是最高的,会排在var的前面,在浏览器中的优先级情况:

                           function fn(){                                        

                                document.write('我爱js')

                           }

           undefined*/

        /* 使用函数 */

        fn();

        /* 变量的名字和函数的名字重名了,这种情况是在 定义函数之前使用fn() 因为函数的优先级比较高 把var fn变量覆盖了*/

        var fn = '123123'

        /* 定义函数 */

        function fn(){

            document.write('我爱js')

        }                                                        //结果是函数'我爱js'输出

    </script>

2.多重循环

多重循环其实就是多重for循环,

for( 变量初始值 ; 变量取值范围 ; 变量自增/自减){
执行程序
}

for(var i=1;i<=3;i++){

        for(var j=1;j<=2;j++){

                document.write('内层执行'+i+'遍,外层执行'+j+'次<br>')

        }

}

我们用最简单的实例来练习,九九乘法表;

<script>
        /* 一共要执行9遍 */
        for(var i=1;i<=9;i++){
            /* 执行多少次 由i决定 */
            for(var j=1;j<=i;j++){
                if(i*j<10){
                    /* 结果小于10 多加两个空格保持对齐 */
                    document.write(  i+'x'+j+'='+(i*j)+'&nbsp;&nbsp;&nbsp;&nbsp;');
                }else{
                     /* 两位数不用多加空格 */
                    document.write( i+'x'+j+'='+(i*j)+'&nbsp;&nbsp;');
                }
            }
             /* 一行打印完毕之后 再加一个换行 */
            document.write('<br>')
        }
    </script>


//i+'x'+j+'='+(i*j)=======>打印在网页上的代码;

3.调试

调试就是在运用循环或者后面做项目时出错,为了方便确定错误的点在哪里使用调试的办法找出,一般有三个方法:①alert        ②debugger        ③console.log。

这三种方法使用最多的就是第三种console.log;

比如说这样的一个死循环

<script>

    for(var i = 0;i<5;i++){

        document.write(i);

        console.log(i)

        // debugger                                                       

        // alert(i)                                                        //在网页弹出i执行的结果会一个一个展示。

    }

    </script>

debugger

  console.log()

 

4.break

 break语句用于终止某个循环,使程序跳到循环块外的下面语句,在循环中位于break后的语句将不再执行,break 语句不仅可以用在for循环中,也可以用在其他循环中。

                        重点:①break用于终止循环②在break后的语句不再执行

<script>
//介绍一下数组,数组的数据在[]里面,从第一个数据其实是第0位,arr.length是数组的长度 
        /*          0  1  2  3  4 */
        let arr = [10, 20, 30, 40, 10];
        for (var i = 0; i < arr.length; i++) {
            /* 当arr[i]的值是40的时候,整个循环就终止了 不再继续循环了 */
            if (arr[i] > 30) {
                break;
            }
            document.write(arr[i] + '<br>')
        }
    </script>

练习

<script>
//输入学院成绩,如果输入负数,将提示输入有误重新输入,否则就输入学院成绩,使用break用法。
    for(var i = 1;i<=5;i++){
        var str = parseInt(prompt('请输入学员的成绩:'));
        if(str < 0){
            document.write('您输入有误,请重新输入!')
            break;
        }
            document.write('第' + i +'名学院的成绩为:' + str +'<br>');
        
    }
    </script>

5.continue

continue与break不同;continue终止的是代码符合条件时这一个循环语句不执行,下一次循环依旧执行,也就是说continue退出本次循环,继续后面的循环,break则将break满足语句条件时后面代码将不在执行。

例如:


     <script>
        let arr = [10,20,30,40,10];
        for(let i=0;i<arr.length;i++){
            if(arr[i]>30){
/* 跳过本次循环后面的document.write(arr[i]+'<br>') 代码不再执行 ,也就是当i=40时这次循环跳过,不影响下面语句执行*/
                continue;
            }
            document.write(arr[i]+'<br>')
        }
     </script>
举报

相关推荐

0 条评论