WMLScript腳本程序設(shè)計(jì)第4/9頁
更新時(shí)間:2007年03月14日 00:00:00 作者:
5.1.3 循環(huán)語句
使用循環(huán)語句可以反復(fù)執(zhí)行某個(gè)代碼塊,直到循環(huán)結(jié)束條件滿足后才停止執(zhí)行。WML Script中有兩種循環(huán)語句:for語句和while語句,同時(shí)還有兩終于循環(huán)密切相關(guān)的操作語言:break語句和continue語句。
for語句
for語句可以創(chuàng)建一個(gè)帶條件的循環(huán),它還有3個(gè)可選的條件表達(dá)式,用于控制循環(huán)。這3個(gè)條件表達(dá)式放在一個(gè)括號(hào)里,并以分號(hào)(;)間隔。for語句的一般語法形式如下:
for(初始表達(dá)式;循環(huán)條件;遞增表達(dá)式){
代碼塊
}
for語句的執(zhí)行主要包括以下幾個(gè)步驟:
(1)執(zhí)行初始表達(dá)式。在一般情況下,初始表達(dá)式完成的功能是在循環(huán)中對(duì)循環(huán)計(jì)數(shù)器賦初值。所以在這種意義上,初始表達(dá)式也可以采用“var 變量聲明列表;”的形式來定義。
(2)判斷循環(huán)條件。如果循環(huán)條件為真(ture),則執(zhí)行循環(huán)體中的語句,即至步驟(3);否則,循環(huán)條件為假(false)或者invalid,就結(jié)束循環(huán);
(3)執(zhí)行循環(huán)代碼。然后,在執(zhí)行遞增表達(dá)式。一般情況下,我們?cè)谶f增表達(dá)式中對(duì)循環(huán)計(jì)數(shù)器進(jìn)行處理,最后在返回步驟2執(zhí)行。
例如,下面的for語句建立了一個(gè)循環(huán)。初始表達(dá)式為定義變量index并付初值0,循環(huán)條件為index<100,遞增表達(dá)式為每循環(huán)一次index增加1。當(dāng)index增加到100時(shí)候,循環(huán)結(jié)束。程序如下:
for(var index=0;index<100;index++){
count+=index;
myFunc(count);
};
while 語句
while語句也可常見一個(gè)循環(huán),它的一般語法表達(dá)式如下:
while(循環(huán)條件){
代碼塊
}
while語句的執(zhí)行過程包括以下幾個(gè)步驟:
(1)判斷循環(huán)條件是否為真。如果循環(huán)條件為真,則執(zhí)行循環(huán);如果為假或?yàn)閕nvalid,則跳出循環(huán)。
(2)執(zhí)行循環(huán)中的代碼塊,然后返回步驟(1)
下面的程序就是使用while語句的簡(jiǎn)單例子:
var counter=0
var total=0
while(counter<3){
counter++;
total+=c;
};
其中建立的循環(huán)僅當(dāng)變量counter的值小于3時(shí)執(zhí)行,否則就結(jié)束循環(huán)。
顯然,如果循環(huán)條件不能為假或?yàn)閕nvalid,那么while循環(huán)就會(huì)無休止的反復(fù)執(zhí)行下去。因此,我們?cè)诖a塊中一定要有能夠改變循環(huán)條件的變量,否則,就很有可能會(huì)陷入死循環(huán)而不能終止程序,下面就是一個(gè)死循環(huán)的例子:
var x=1;
var y=0;
while(x<=1){
y=x+1;
}
這個(gè)程序中,因?yàn)樽兞縳的值在循環(huán)中不能發(fā)生變化,所以循環(huán)條件在判斷的時(shí)候永遠(yuǎn)為真,所以成為了死循環(huán)。因此,對(duì)于while語句我們往往使用如下所示的語法形式:
初始表達(dá)式
while(循環(huán)條件){
代碼塊
遞增表達(dá)式
}
這種情況下,while語句的功能和for語句的功能就一樣了,不過用while語句編寫的程序可讀性更強(qiáng)一些。所以我們也可以采用while語句來完成index增加到100的循環(huán)。
程序如下:
var index=0
while (index<100){
counter+=index;
myFunc(count);
index++;
};
相關(guān)文章
收集的WML Script標(biāo)準(zhǔn)函數(shù)庫(kù)
收集的WML Script標(biāo)準(zhǔn)函數(shù)庫(kù)...2007-03-03