javascript - for迴圈嵌套兩個for迴圈
我想大声告诉你
我想大声告诉你 2017-05-18 10:49:45
0
4
566
        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*

第二輪輸出:
&nbsp&nbsp&nbsp***

第三輪輸出:
&nbsp&nbsp*

第*
第三輪輸出:

&nbsp&nbsp*
🎜。 *******
🎜
迷茫
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語句的基本語法,靜下心來慢慢想,外部迴圈決定了換行數,裡面兩個迴圈分別決定空格數和*符號數。
裡面的循環各自獨立,幾乎同時進行

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!