qq_都是我的错_03142074
2016-04-08 16:00
var t=prompt("请输入一个函数","");
if(t>5){
for(var i=t;i>0;i--){
for(var j=0;j<i;j++) {
document.write("* ");
}
document.write("<br/>");
}
}
</script>
i=8的时候,j=0,j<i,就是执行8次j,就是画八个*号,然后依次i=7的时候,j=0,j<i,就是执行七次j,画七个*号,外层的i循环是每循环一次就减少1,内层的j循环是每次从0开始自加到i-1的值。也就是说i的一次循环对应j的i次循环。(表达有限,不知道说清楚没)
输入t=8时 外部for的值就是i=8,然后执行内部的嵌套for循环,嵌套for循环为j=0;j<8;j++,因为每次都是j增加一个,所以总是满足j<8这个条件,所以一直都在执行嵌套for循环,知道j=8时,跳出嵌套for循环,又重新进行尾部for循环,此时i=7,所以一行有7个“*”号
你给8的时候,外部for循环最先执行的就是i=8,嵌套for循环此时条是j=0;j<8;j++,这个肯定是执行8次的,也就是8个*,按照i递减,你出来的肯定是个倒三角啊。。
循环是一层一层来的
这是哪里搞的代码?怎么有点看不懂的感脚?t>5,那么for语句里面的 i>0 又有何意义?你这连个初始值都没有,程序怎么执行呀,反正 我看不懂~~~如果有能看懂的,也帮我解惑
看看之前的章节
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题