我是编程和计算机科学的新手。 HTML是我所知道的,我一直面临着vbscript的问题。 这个程序(我在vbscript中的第一个)是由我的老师给出的。但我真的什么都不懂。我提到了我的书却徒劳无功。 我甚至不确定这是否是发布问题的正确的SE。 请帮忙。
答案 0 :(得分:2)
你所拥有的是一个带有另一个嵌套循环的循环,它们都会在屏幕上打印一些文本(document.write("...")
)。
外圈
For i = 1 To 5 Step 1
...
Next
以1为步长从1迭代到5(这是多余的,因为1是默认步长,所以你可以省略Step 1
)。如果您在循环中打印了i
的值
For i = 1 To 5 Step 1
document.Write(i & "<br>")
Next
您将获得以下输出:
1
2
3
4
5
在您的代码示例中,您只需打印<br>
,因此外循环的每个循环都会打印一个换行符。
除了在外部循环中打印换行符之外,您还有一个嵌套循环,对于外循环的每个循环,它从1迭代到当前值i
,再次以1为步长。
For j = 1 To i Step 1
...
Next
所以在外循环的第一个循环(i=1
)中,内循环从1迭代到1,在外循环的第二个循环(i=2
)中,它从1迭代到2,等等。
For i = 1 To 5 Step 1
document.Write(i & "<br>")
For j = 1 To i Step 1
document.Write("*")
Next
Next
由于内部循环在每个循环中打印一个星号,在内部循环结束之前每行得到i
个星号,然后外部循环进入下一个循环并打印换行符,从而结束当前输出行
了解循环如何工作的一种好的(虽然有点乏味)方法是记录每个变量的当前值以及纸张表格中的当前输出行,例如:像这样:
code line | instruction | i | j | output line
----------+------------------------+-------+-------+------------
1 | For i = 1 To 5 Step 1 | 1 | Empty |
2 | document.Write("<br>") | 1 | Empty | <br>
3 | For j = 1 To i Step 1 | 1 | 1 |
4 | document.Write("*") | 1 | 1 | *
5 | Next | 1 | 1 | *
6 | Next | 1 | 1 | *
1 | For i = 1 To 5 Step 1 | 2 | 1 | *
2 | document.Write("<br>") | 2 | 1 | *<br>
3 | For j = 1 To i Step 1 | 2 | 1 |
4 | document.Write("*") | 2 | 1 | *
5 | Next | 2 | 1 | *
3 | For j = 1 To i Step 1 | 2 | 2 | *
4 | document.Write("*") | 2 | 2 | **
5 | Next | 2 | 2 | **
6 | Next | 2 | 2 | **
1 | For i = 1 To 5 Step 1 | 3 | 2 | **
2 | document.Write("<br>") | 3 | 2 | **<br>
3 | For j = 1 To i Step 1 | 3 | 1 |
4 | document.Write("*") | 3 | 1 | *
... | ... | ... | ... | ...