搜尋

首頁  >  問答  >  主體

javascript - for迴圈嵌套兩個for迴圈

        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>");
        }

請問這段程式碼是怎麼運行的呢?看得懂這段程式碼 但是被它的運行搞亂了 越想越不明白它的運行方式 菜鳥求高手詳細的指教一下 萬分感謝 感謝

我想大声告诉你我想大声告诉你2870 天前660

全部回覆(4)我來回復

  • 巴扎黑

    巴扎黑2017-05-18 10:51:45

    一開始進入外層for,然後內層第一個for,然後內層第二個for,然後第一輪循環結束。
    第一輪輸出:
        *

    第二輪輸出:
       ***

    第三輪輸出:
      *

    第*
    第三輪輸出:

      *
    🎜。 *******
    🎜

    回覆
    0
  • 迷茫

    迷茫2017-05-18 10:51:45

    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個,輸出換行符遞增兩個,像這種比較亂的循環,可以嘗試枚舉兩到三個執行流程

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-18 10:51:45

    依序執行,進入外層循環,裡面的循環循環了再執行下面的循環

    回覆
    0
  • 阿神

    阿神2017-05-18 10:51:45

    可以看看for語句的基本語法,靜下心來慢慢想,外部迴圈決定了換行數,裡面兩個迴圈分別決定空格數和*符號數。
    裡面的循環各自獨立,幾乎同時進行

    回覆
    0
  • 取消回覆