WMLScript腳本程序設(shè)計(jì)第4/9頁(yè)
更新時(shí)間:2007年03月14日 00:00:00 作者:
5.1.3 循環(huán)語(yǔ)句
使用循環(huán)語(yǔ)句可以反復(fù)執(zhí)行某個(gè)代碼塊,直到循環(huán)結(jié)束條件滿足后才停止執(zhí)行。WML Script中有兩種循環(huán)語(yǔ)句:for語(yǔ)句和while語(yǔ)句,同時(shí)還有兩終于循環(huán)密切相關(guān)的操作語(yǔ)言:break語(yǔ)句和continue語(yǔ)句。
for語(yǔ)句
for語(yǔ)句可以創(chuàng)建一個(gè)帶條件的循環(huán),它還有3個(gè)可選的條件表達(dá)式,用于控制循環(huán)。這3個(gè)條件表達(dá)式放在一個(gè)括號(hào)里,并以分號(hào)(;)間隔。for語(yǔ)句的一般語(yǔ)法形式如下:
for(初始表達(dá)式;循環(huán)條件;遞增表達(dá)式){
代碼塊
}
for語(yǔ)句的執(zhí)行主要包括以下幾個(gè)步驟:
(1)執(zhí)行初始表達(dá)式。在一般情況下,初始表達(dá)式完成的功能是在循環(huán)中對(duì)循環(huán)計(jì)數(shù)器賦初值。所以在這種意義上,初始表達(dá)式也可以采用“var 變量聲明列表;”的形式來(lái)定義。
(2)判斷循環(huán)條件。如果循環(huán)條件為真(ture),則執(zhí)行循環(huán)體中的語(yǔ)句,即至步驟(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語(yǔ)句建立了一個(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 語(yǔ)句
while語(yǔ)句也可常見(jiàn)一個(gè)循環(huán),它的一般語(yǔ)法表達(dá)式如下:
while(循環(huán)條件){
代碼塊
}
while語(yǔ)句的執(zhí)行過(guò)程包括以下幾個(gè)步驟:
(1)判斷循環(huán)條件是否為真。如果循環(huán)條件為真,則執(zhí)行循環(huán);如果為假或?yàn)閕nvalid,則跳出循環(huán)。
(2)執(zhí)行循環(huán)中的代碼塊,然后返回步驟(1)
下面的程序就是使用while語(yǔ)句的簡(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ì)無(wú)休止的反復(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語(yǔ)句我們往往使用如下所示的語(yǔ)法形式:
初始表達(dá)式
while(循環(huán)條件){
代碼塊
遞增表達(dá)式
}
這種情況下,while語(yǔ)句的功能和for語(yǔ)句的功能就一樣了,不過(guò)用while語(yǔ)句編寫(xiě)的程序可讀性更強(qiáng)一些。所以我們也可以采用while語(yǔ)句來(lái)完成index增加到100的循環(huán)。
程序如下:
var index=0
while (index<100){
counter+=index;
myFunc(count);
index++;
};
相關(guān)文章
非常不錯(cuò)的WAP常見(jiàn)問(wèn)題問(wèn)答大全(二)
非常不錯(cuò)的WAP常見(jiàn)問(wèn)題問(wèn)答大全(二)...2007-03-03收集的WML Script標(biāo)準(zhǔn)函數(shù)庫(kù)
收集的WML Script標(biāo)準(zhǔn)函數(shù)庫(kù)...2007-03-03怎樣打開(kāi)XML文件?xml文件如何打開(kāi)?
XML是Extensible Markup Language的簡(jiǎn)寫(xiě),一種擴(kuò)展性標(biāo)識(shí)語(yǔ)言,用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言,可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言2012-02-02