8.1.2 条件语句、循环语句 - 编程吧

上一篇 | 下一篇

8.1.2 条件语句、循环语句

发布: 2007-7-20 13:51 | 作者: 佚名 | 来源: 转载 | 查看: 30次


return语句
return语句主要用在函数体中,在函数结束前,可以通过return语句,把函数处理的结果返回给调用函数的语句。它的语法格式如下:

return  表达式;

下面的函数给出了应用return语句的例子:

 

function square( x ) {

         if (!(Lang.isFloat(x))) return invalid;

         return x * x;

};          

 

8.1.2  条件语句
在条件语句中,当满足某种条件时,就会执行指定的一些代码,而在满足另外某种条件时,则会执行另外一些代码。WMLScript的条件语句就是if...else语句,它的一般表达形式如下:

 

if (条件) {

         代码块1

}

else {

         代码块2

}

 

这样,当条件满足时,就执行代码块1;如果条件不满足则执行代码块2。代码块1和代码块2中如果只有一条语句,那么,两边的花括号( { } )就可以省略;而如果有多条语句,则必须使用花括号将代码块包括在其中。在if...else语句中,其中的else部分是可选的,也就是说,我们可以使用如下的表达形式:

 

if (条件){

         代码块

}

 

这样,当条件满足时,就执行代码块,如果条件不满足则什么也不做。

例如,如果我们需要对一个学生的成绩(score)进行判定,如果大于等于60分,那么我们就认为该学生成绩合格了,反之则认为不合格,同时一并将状态记录到变量status中,相应的WMLScript语句如下所示:

 

if (score>=60)     status="pass";

else   status="fail";

 

再如,我们可以通过对天气是否阳光普照(sunShines)的情况进行判断,来给变量myDay赋值,并累计好天气(goodDays)的天数。程序如下:

 

if (sunShines) {

         myDay = "Good";

         goodDays++;

} else

         myDay = "Oh well...";

 

8.1.3  循环语句
使用循环语句可以反复执行某个代码块,直到循环结束条件满足后才停止执行。WMLScript中有两种循环语句:for语句和while语句,同时还有两种与循环密切相关的操作语句:break语句和continue语句。

for语句
for语句可以创建一个带条件的循环,它含有3个可选的条件表达式,用于控制循环。这3个条件表达式放在一个括号里,并以分号(;)间隔。for语句的一般语法形式如下:

 

for (初始表达式;循环条件;递增表达式) {

         代码块

}

 

for语句的执行主要包括以下几个步骤:

(1) 执行初始表达式。在一般情况下,初始表达式完成的功能是在循环中对循环计数器赋初值。所以在这种意义上,初始表达式也可以采用“var  变量声明列表;”的形式来定义。

(2) 判断循环条件。如果循环条件为真(true),则执行循环体中的语句,即至步骤(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语句也可创建一个循环,它的一般语法表达形式如下:

 

while (循环条件) {

         代码块

}

 

while语句的执行过程包括以下几个步骤:

(1) 判断循环条件是否为真。如果循环条件为真,则执行循环;如果为假或为invalid,则跳出循环。

(2) 执行循环中的代码块,然后返回步骤(1)。

下面的程序就是使用while语句的简单例子:

 

var counter = 0;

var total = 0;

while (counter < 3) {

         counter++;

         total += c;

};

 

其中建立的循环仅当变量counter的值小于3时执行,否则就结束循环。

显然,如果循环条件不能为假或为invalid,那么while循环就会无休止的反复执行下去。因此,我们在代码块中一定要有能够改变循环条件的变量,否则,就很有可能会陷入死循环而不能终止程序,下面就是一个死循环的例子:

 

var x=1;

var y=0;

while (x<=1) {

         y = x+1;

}

 

在这个程序中,因为变量x的值在循环中不能发生变化,所以循环条件在判断的时候永远为真,所以成为了死循环。因此,对于while语句我们往往使用如下所示的语法形式:

 

初始表达式

while (循环条件) {

         代码块

         递增表达式

}

 

这种情况下,while语句的功能和for语句的功能就一样了,不过用while语句编写的程序可读性更强一些。所以我们也可以采用while语句来完成index增加到100的循环。程序如下:

 

var index = 0;

while (index < 100) {

         count += index;

         myFunc(count);

         index++;

};

 

break语句
为了更好地解决死循环问题,WMLScript像大多数编程语言一样提供了break语句。break语句可以使程序执行跳出循环。不论是for语句还是while语句,只要在循环中使用了break语句,那么程序执行到break语句后就立即跳出当前循环,然后继续执行下去。

break语句的语法形式如下:

break;

例如,在下面的函数中我们使用了break语句,它使得当index=3时跳出循环。如果不使用该语句,函数中的while循环需到index =6时才可以结束。程序如下:

 

function testBreak(x) {

         var index = 0;

         while (index < 6) {

                   if (index == 3) break;

         &nbs<

此新闻共有2页 1 2

字号: | 推荐给好友

 

评分:0

我来说两句

seccode