JS打印直角三角形为什么不是递减

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>

img

本身就是在递减,第一个大循环遍历为i,里面的循环变量为j,
里面循环的j的默认值是由外面大循环给赋予的
例如第一次里面的for循环的取值为
第一次为[1,5] 5个*
第二次为[2,5] 4个*
第三次为[3,5] 3个*

当然也可以用递减for循环i--输出都是没有问题的;

因为是倒着打印的,也就是上面的星号多,下面的星号少,所以j=i,每次j的增加,但是到最大5的长度就会减少。

img