var h=5;
for(var i=1;i<=h-1;i++){
for(var j=h-1;j>=i;j--){
document.write(" ");
}
for(var n=1;n<=2*i-1;n++){
document.write("*");
}
document.write("<br>");
}
請問這段程式碼是怎麼運行的呢?看得懂這段程式碼 但是被它的運行搞亂了 越想越不明白它的運行方式 菜鳥求高手詳細的指教一下 萬分感謝 感謝
巴扎黑2017-05-18 10:51:45
一開始進入外層for,然後內層第一個for,然後內層第二個for,然後第一輪循環結束。
第一輪輸出:
    *
第二輪輸出:
   ***
第三輪輸出:
  *
第*
第三輪輸出:
迷茫2017-05-18 10:51:45
for () { // i=1
for() {
// j=4,i=1,write(" ");j=3,i=1,write(" ");
// j=2,i=1,write(" ");j=1,i=1,write(" ");
}
for () { //n=1,i=1,n<=1就执行
// n=1,write("<br>");
}
}
外層第一次循環:四個空格一次換行
for () { // i=2
for() {
// j=4,i=2,write(" ");j=3,i=2,write(" ");
// j=2,i=2,write(" ");
}
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(" ");j=3,i=3,write(" ");
}
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個,輸出換行符遞增兩個,像這種比較亂的循環,可以嘗試枚舉兩到三個執行流程