javascript - for循环嵌套两个for循环
我想大声告诉你
我想大声告诉你 2017-05-18 10:49:45
0
4
616
        var h=5;
        for(var i=1;i<=h-1;i++){
            for(var j=h-1;j>=i;j--){
                document.write("&nbsp");
            }
            for(var n=1;n<=2*i-1;n++){
                document.write("*");
            }
            document.write("<br>");
        }

请问这段代码是怎么运行的呢? 看得懂这段代码 但是被它的运行搞乱了 越想越不明白它的运行方式 菜鸟求高手详细的指教一下 万分感谢 感谢 感谢

我想大声告诉你
我想大声告诉你

全部回复(4)
巴扎黑

一开始进入外层for,然后内层第一个for,然后内层第二个for,然后第一轮循环结束。
第一轮输出:
&nbsp&nbsp&nbsp&nbsp*<br>
第二轮输出:
&nbsp&nbsp&nbsp***<br>
第三轮输出:
&nbsp&nbsp*****<br>
第四轮输出:
&nbsp*******<br>

迷茫
for () {    // i=1
    for() {
        // j=4,i=1,write("&nbsp");j=3,i=1,write("&nbsp");
        // j=2,i=1,write("&nbsp");j=1,i=1,write("&nbsp");
    }
    for () {    //n=1,i=1,n<=1就执行
        // n=1,write("<br>");
    }
}

外层第一次循环:四个空格一次换行

for () {    // i=2
    for() {
        // j=4,i=2,write("&nbsp");j=3,i=2,write("&nbsp");
        // j=2,i=2,write("&nbsp");
    }
    for () {    //n=1,i=2,n<=3就执行
        // n=1,write("<br>");n=2,write("<br>");n=3,write("<br>");
    }
}

外层第二次循环:三个空格,三个换行

for () {    // i=3, i<=4就执行
    for() {
        // j=4,i=3,write("&nbsp");j=3,i=3,write("&nbsp");
    }
    for () {    //n=1,i=3,n<=5就执行
        // n=1,write("<br>");n=2,write("<br>");n=3,write("<br>");
        // n=4,write("<br>");n=5,write("<br>");
    }
}

外层第三次循环:两个空格,五个换行
....

也就说输出空格符递减1个,输出换行符递增两个,像这种比较乱的循环,可以尝试枚举两到三个执行流程

Ty80

按顺序执行,进入外层循环,里面的循环循环了再执行下面的循环

阿神

可以看看for语句的基本语法,静下心来慢慢想,外部循环决定了换行数,里面两个循环分别决定空格数和*符号数。
里面的循环各自独立,几乎同时进行

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板