![]() |
|
| NoahWeb.net | 开发者交流中心 | 支持 | 文档 | 反馈缺陷 |
产生一个循环,当满足条件的时候会退出循环体,继续运行程序。
|
||||||||
|
||||||||||||||||
此标签可以帮你完成一个循环,这和其他编程语言中的"For"循环一致。"InitVar"在运行前需要初始的一个变量名称,"InitValue"是指要给这个变量一个值,"EX"是循环条件,比如“[cx]> 3”。当循环每次完成以后会先计算"NextValue"所写的内容,然后将计算结果赋给"NextVar"所写变量。再进行“EX”所表示的循环条件判断,如果条件为真将重新执行和输出For循环内的内容。
值得注意的是,"NextVar"内的变量名和"NextValue"的值并不一定要和前面初始化的的变量是同一个,比如,前面"InitVar"初始化的变量是"i",后面"NextVar"可以是"c",而且"NextVar"在这里是可选参数。如果省略"NextVar"不写,将会把"NextValue"计算结果赋给"InitVar"所指定的变量。
<!-- NoahForStart InitVar="cx" InitValue="0" EX="[cx]<5" NextValue="[cx]+1" -->
<!-- NoahForEnd --> |
<a href="submit.aspx?action=&page=0"><strong>1</strong></a>
<a href="submit.aspx?action=&page=1"><strong>2</strong></a>
<a href="submit.aspx?action=&page=2"><strong>3</strong></a>
<a href="submit.aspx?action=&page=3"><strong>4</strong></a>
<a href="submit.aspx?action=&page=4"><strong>5</strong></a>
在产生For循环的时候声明一个名为“cx”的局部变量。并初始化此变量的值为0,循环执行的条件为变量“cx”所表示的值小于5的时候执行循环,执行成功后下一次执行以前对“cx”的值在原值基础上加1,然后再判断条件。此示例代码采用了省略“NextVar”的声明。省略后系统将会采用"InitVar"的内容来代替“NextVar”。
<!-- NoahSetValue SetName="num" SetValue="0" --> <!-- NoahForStart InitVar="cx" InitValue="0" EX="[cx]<9" NextVar="num" NextValue="[num]+1" -->
<!-- NoahForEnd --> |
<strong>1</strong>
<strong>2</strong>
<strong>4</strong>
<strong>5</strong>
<strong>7</strong>
<strong>8</strong>
<strong>10</strong>
<strong>11</strong>
<strong>13</strong>
此程序目的在从1开始9个不能被3整除的数字,此循环也是一个典型的"InitVar"所设置的变量与"NextVar"所设置的变量不同的一个例子,
在进行For循环之前,首先声明并设置了一个变量名称为“num”的变量,初始值为0。
然后在For循环使用InitVar初始设置“cx”变量,使用InitValue将“cx”的值初始为0,
开始判断执行条件EX,如果条件满足则执行和输出For循环内的代码和逻辑,
NoahFor里使用了NoahIf作为判断,Noahif中的“[num]%3!=0”目的是用来计算num变量的当前值与3的余数是否等于0,如果余数等于0(也就是能被3整除)则输 出和执行Noahif内的代码和逻辑。
如果num当前值与3的余数等于0则把cx的当前值加一。并输出内容。否则不做任何输出和执行。
遇到For循环结束标签的时候。程序执行“NextValue”所表示的计算[num]+1,然后将“NextValue”所计算出来的值赋给"NextVar"所指示的变量“num”。
然后再判断For循环里的EX所描述的条件,如果条件成立则重新执行和输出For循环里的内容和逻辑,直到For中的EX条件不再成立。这时结束循环,继续执行后面内容或逻辑。
注意:在使用"InitVar"设置的变量与"NextVar"设置的变量不相似的方式来编程时,如果书写有误,会导致For循环永远执行下去,死锁住执行线程,
| 参考 | |
|---|---|
|
|
|
|
| Copyright © 2001-2004
The NoahWeb Corporation All rights reserved. |
|