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,然后第一轮循环结束。
第一轮输出:
    *<br>
第二轮输出:
   ***<br>
第三轮输出:
  *****<br>
第四轮输出:
 *******<br>
迷茫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个,输出换行符递增两个,像这种比较乱的循环,可以尝试枚举两到三个执行流程