WML语言基础(WAP建站)五 |
| 作者:佚名 来源:转载 发布时间:2005-9-5 16:49:33 |
|
种,其中的else部分是可选的,也就是说,我们可以使用如下的表达形式:
if(条件){ 代码块 } 这样,当条件满足时,就执行代码块,如果条件不满足则什么也不做。 例如,如果我们需要对一个学生的成绩进行判定,如果大于等于60分,那么我们就认为该学生成绩合格了,反之则认为不合格,同时一并将状态记录到变量status种,相应的WMLScript语句如下所示: if(score>=60) status="pass"; else status="fail"; 再如,我们可以通过对天气是否阳光普照(sunShines)的情况进行判断,来给变量myDay赋值,并累计好天气(goodDays)的天数。程序如下: if(sunShines) { goodDays++; }else myDays="Oh well...";
使用循环语句可以反复执行某个代码块,直到循环结束条件满足后才停止执行。WML Script中有两种循环语句:for语句和while语句,同时还有两终于循环密切相关的操作语言:break语句和continue语句。 for语句 for语句可以创建一个带条件的循环,它还有3个可选的条件表达式,用于控制循环。这3个条件表达式放在一个括号里,并以分号(;)间隔。for语句的一般语法形式如下: for(初始表达式;循环条件;递增表达式){ 代码块 }
(1)执行初始表达式。在一般情况下,初始表达式完成的功能是在循环中对循环计数器赋初值。所以在这种意义上,初始表达式也可以采用“var 变量声明列表;”的形式来定义。 (2)判断循环条件。如果循环条件为真(ture),则执行循环体中的语句,即至步骤(3);否则,循环条件为假(false)或者invalid,就结束循环; (3)执行循环代码。然后,在执行递增表达式。一般情况下,我们在递增表达式中对循环计数器进行处理,最后在返回步骤2执行。 例如,下面的for语句建立了一个循环。初始表达式为定义变量index并付初值0,循环条件为index<100,递增表达式为每循环一次index增加1。当index增加到100时候,循环结束。程序如下: for(var index=0;index<100;index++){ count+=index; myFunc(count); };
while语句也可常见一个循环,它的一般语法表达式如下: while(循环条件){ 代码块 }
(1)判断循环条件是否为真。如果循环条件为真,则执行循环;如果为假或为invalid,则跳出循环。 (2)执行循环中的代码块,然后返回步骤(1) 下面的程序就是使用while语句的简单例子: var counter=0 var total=0 while(counter<3){ counter++; total+=c; };
显然,如果循环条件不能为假或为invalid,那么while循环就会无休止的反复执行下去。因此,我们在代码块中一定要有能够改变循环条件的变量,否则,就很有可能会陷入死循环而不能终止程序,下面就是一个死循环的例子: var x=1; var y=0; while(x<=1){ y=x+1; }
初始表达式 while(循环条件){ 代码块 递增表达式 } 这种情况下,while语句的功能和for语句的功能就一样了,不过用while语句编写的程序可读性更强一些。所以我们也可以采用while语句来完成index增加到100的循环。 程序如下: var index=0 while (index<100){ counter+=index; myFunc(count); index++; };
为了更好的解决死循环问题,WML Script项大多数编成语言一样提供了break语句。break语句可以使程序执行跳出循环。不论是for语句还是while语句,只要在循环中使用了break语句,那么程序执行到break语句后就立即跳出当前循环,然后继续执行下去。 break语句的予发行时如下: break; 例如,在下面的函数中我们使用了break语句,它是当index=3时跳出循环。如果不是用该语句,函数中的while循环直到index=6时才可以结束。程序如下: funcition testBreak(x){ var index=0; while(index<6){ if(index==3)break; index++ }; retrun index*x; ;
continue语句的功能和break语句的功能看起来有些类似,但实际上却不一样。循环执行时遇到break语句通常是跳出当前循环,但循环执行到continue语句并不跳出当前循环,而是不执行循环中在continue语句后面的代码块,直接结束循环的本轮运行,然后马上开始下一轮循环的运行。 在while语句的循环中,遇到continue语句后,程序会直接判断循环条件从而开始下一轮循环。在for语句的循环中,遇到continue语句后程序会直接执行递增表达式,然后判断循环条件从而开始下一轮循环。 例如,我们想利用for循环求1到10之间偶数的和,其WML Script语句如下: var sum=0; for (var j=1;j<=10;j++){ if(j%2!=0) continue; sun+j; };
再如,我们想利用while循环求0到4之间出3以外几个数的和,则可以使用continue语句进行控制。程序如下; var index=0; var count=0; while (index<5){ index++; if(index==3) continue; cont+=index; };
在WML Script中,函数是一种能够完成某种功能的代码块,并可以在脚本中被事件处理或被其他语句调用,也可以被WML程序所处理和调用。一般地,当我们编写WML Script脚本时,如果脚本中的代码长度还是很长,则一般还可以根据功能将函数再进行划分,分成为几个功能更加单一的函数。虽然说这样对长代码的处理方法并不是编写脚本程序的强制性要求,但通过函数的划分和运用,我 |
| [] [返回上一页] [打 印] |
|
文章评论 |
