老师,为什么我把i跟j放在括号外面定义,内循环只循环一次呢?

来源:2-6 for嵌套(最常用的循环)

慕设计6170877

2020-07-21 10:35:34

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

    </head>

    <body>

    <script>

    var i=1;

    var j=1;

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

     document.write(i+"<br/>");

     for(j;j<=5;j++){

     document.write(j+"<br/>");

     }

     }

    </script>

    </body>

</html>

http://img.mukewang.com/climg/5f165473095ac31d04090277.jpg

写回答

1回答

好帮手慕码

2020-07-21

同学你好,这是作用域的问题。如果把“var j=1;”放在for外面,j的值一开始就是设置好的1,那么在第一层for循环完进入第二层for循环之后,j的值会一直累加,一直到5,不符合条件,不再循环,j的值不会被覆盖。如果把 “var j=1;”放在for循环中,j的值会被重新赋值,因此会循环5次。

作用域的知识会在“组件化网页开发”讲解,同学这里先作为扩展了解一下。

祝学习愉快~

0

0 学习 · 40143 问题

查看课程