JS打印直角三角形为什么不是递减,而是两个for循环都i++?
如何执行的呢?从下往上显示的吗?但为什么没有递减,列数却递减了?
<script>
var str = '';
for(var i=1;i<=5;i++)
{
for(var j=i;j<=5;j++){ // j的初始值为1
str=str+'*';
}
str +='\n';
}
console.log(str);
</script>
本身就是在递减,第一个大循环遍历为i,里面的循环变量为j,
里面循环的j的默认值是由外面大循环给赋予的
例如第一次里面的for循环的取值为
第一次为[1,5] 5个*
第二次为[2,5] 4个*
第三次为[3,5] 3个*
当然也可以用递减for循环i--输出都是没有问题的;
因为是倒着打印的,也就是上面的星号多,下面的星号少,所以j=i,每次j的增加,但是到最大5的长度就会减少。