需求:输出到三角形到界面

*
**
***
****
*****

想要输出正三角, 首先得了解一个规律, 循环嵌套规律

循环嵌套 => 外循环控制行数 ,内循环控制列数(横行竖列)


先输出一个矩形试试

<script>
    for (let i = 0; i < 5; i++) {
        for (let j = 0; j < 5; j++) {
            document.write("*");
        }
        document.write("<br/>")
    }
</script>
*****
*****
*****
*****
*****

得到这个效果之后 ,观察一下规律

正三角的规律

第二行的列数比第一行的列数多

第三行的列数比第二行的列数多

第四行的列数比第三行的列数多

第五行的列数比第四行的列数多


得到规律之后,也知道了, 循环嵌套是 外循环控制行数,内循环控制列数 

所以现在我们只需要进行列数的控制即可,控制什么呢?控制每次每循环一次,列数就比上次循环的多一列

<script>
    //输出五行
    for (let i = 0; i < 5; i++) {
        //每次循环的时候输出一列,
        //因为循环是从0开始的,所以要进行+1
        for (let j = 0; j < i + 1; j++) {
            document.write("*");
        }
        document.write("<br/>")
    }
</script>
*
**
***
****
*****

现在成功输出了正三角了,而输出正三角形的方法则是改变内循环的循环次数,在第一次循环的时候,改变循环的时候的列数即可,

 

而下面的第二种方式输出的效果也是一样的, 只要弄懂了规律,那么输出的方式多种多样

<script>
    //输出五行
    for (let i = 1; i <= 5; i++) {
        //每次循环的时候输出一列,
        //因为循环是从0开始的,所以要进行+1
        for (let j = 0; j < i; j++) {
            document.write("*");
        }
        document.write("<br/>")
    }
</script>
*
**
***
****
*****

第三种方式

<script>
    for (let i = 0; i < 5; i++) {
        for (let j = 0; j <= i; j++) {
            document.write("*");
        }
        document.write("<br/>")
    }
</script>
*
**
***
****
*****

第三种方式规律, 把内循环的条件表达式,改为外循环初始化表达式的变量即可