<!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(" ");
}
// 这个跟打印空格的方法和思路是一样的
for (var c = 1; c <= (a <= 6 ? a : 12 - a); c++) {
document.write("*");
}
document.write("<br />");
}
</script>
</body>
</html>

2019-12-27
posted on
浙公网安备 33010602011771号