<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /*
    第一个 for 控制换行
    第二个 for 控制打印的空格
    第三个 for 控制打印的*
    */
    for (var a = 1; a <= 11; a++) {
        /*
        a起始值为 var a = 1
        第一个条件是a <= 6 执行 6 - a
        b的值 = 6 - a(1)
        b的值 = 6 - a(2)
        b的值 = 6 - a(3)
        b的值 = 6 - a(4)
        b的值 = 6 - a(5)
        b的值 = 6 - a(6)
        6 - a 减到满足a <= 6 这个条件时执行a - 6(这时的a是7)
        b的值 = a(7) - 6
        b的值 = a(8) - 6
        b的值 = a(9) - 6
        b的值 = a(10) - 6
        b的值 = a(11) - 6

        a <= 6
        菱形之前是从小到大变化,到6行时,从大到小变化
        所以 a <= 6之前执行6 - a
            a <= 6之后就执行a - 6

            6 - a和a - 6  这个6的值是怎么得来的
            a每次加一
            第一行空格数为5个   几减去a(1)等5   6
            第二行空格数为4个   几减去a(2)等4   6
            第三行空格数为3个   以次类推
            第四行空格数为2个
            第五行空格数为1个
            第六行空格数为0个
            前面总共6行 a的值也就为 6
            第七行空格数为1个    a的值为7  a减去几等 1 
            第八行空格数为2个    a的值为8  a减去几等 2
            第九行空格数为3个    以次类推
            第十行空格数为4个
            第十一行空格数为5个
            后面共5行a  a的值也就为11
        */
        for (var b = 1; b <= (a <= 6 ? 6 - a : a - 6); b++) {
            document.write("&nbsp");
        }
        // 这个跟打印空格的方法和思路是一样的
        for (var c = 1; c <= (a <= 6 ? a : 12 - a); c++) {
            document.write("*");
        }
        document.write("<br />");
    }
</script>
</body>
</html>

2019-12-27

 posted on 2019-12-27 14:30  风水转  阅读(593)  评论(0)    收藏  举报