NoahWeb
在线搜索
NoahWeb.net | 开发者交流中心 | 支持 | 文档 | 反馈缺陷 

表示层标签 NoahFor

  产生一个循环,当满足条件的时候会退出循环体,继续运行程序。

 

说明

语法:

<!-- NoahForStart InitVar="" InitValue="" EX="" NextVar="" NextValue="" -->

<!-- NoahForEnd -->

必要参数:

InitVar
InitValue
EX
NextValue

可选参数:

NextVar


标签和参数说明:

开始标签

<!-- NoahForStart InitVar="" InitValue="" EX="" NextVar="" NextValue="" -->

结束标签 <!-- NoahForEnd -->
参数:InitVar 循环运行前需要赋值的变量名称
参数:InitValue 循环运行前赋值给“InitVar”参数中所指定的变量值
参数:EX 每次循环前需要执行的条件。如果条件为真,则循环执行和输出循环体内的逻辑与内容。如果条件为否,跳出循环。参考:判断表达式
参数:NextVar 每次循环结束后计算“NextValue”的变量将结果赋给的变量名称
参数:NextValue 计算此参数里的变量值并赋给“NextVar”所指定的变量值

 

内容说明

  此标签可以帮你完成一个循环,这和其他编程语言中的"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" -->

<a href="submit.aspx?action=<!-- NoahValue ValueName="[_root.action]" -->&page=<!-- NoahValue ValueName="[cx]" -->">

<strong><!-- NoahValue ValueName="[cx]+1" --></strong>

</a> 

<!-- 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" -->

<!-- NoahIf EX="[num]%3!=0" -->

<!-- NoahSetValue SetName="cx" SetValue="[cx]+1" -->

<strong><!-- NoahValue ValueName="[num]" --></strong>

<!-- NoahEndIf -->

<!-- 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循环永远执行下去,死锁住执行线程,

 

 

参考
 

 

 

 

查看NoahWeb在线手册

Copyright © 2001-2004 The NoahWeb Corporation
All rights reserved.