無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第2/2頁
更新時(shí)間:2007年03月14日 00:00:00 作者:
4.3.3 WMLScript程序的基本書寫規(guī)則
WMLScript程序的基本書本寫規(guī)則:
1.程序由若干語句或函數(shù)組成,函數(shù)有由若干語句組成;
2.每個(gè)完整的語句后面必須加上分號(;),語句關(guān)鍵詞語操作數(shù)之間必須有空間;分號(;)是WMLScript程序的組成部分;
3.函數(shù)體之間必須使用成對的花括號({ })括起來,而且函數(shù)結(jié)束時(shí)在右花括號(})的后面還要加上分號(;);函數(shù)說明部分,如函數(shù)名、函數(shù)類型、函數(shù)參數(shù)等要放在花括號({})的前面;
4.有些語句可能也需要實(shí)用花括號({ })辦含內(nèi)容,這類語句通常也可以放在函數(shù)中,所以花括號({ })是可以嵌套的。
當(dāng)然,不同的語句、參數(shù)、變量等元素在聲明和書寫時(shí)可能還有一些更細(xì)的要求,具體我們后面介紹這些元素是再專門給出,
4.4 變量與數(shù)據(jù)類型
變量即數(shù)據(jù)類型是所有編程語言的概念和組成部分,WMLScript對此也不例外。它對其變量使用方法和數(shù)據(jù)類型定義方法給出了詳細(xì)的規(guī)定。變量通常與某數(shù)據(jù)之相對應(yīng),我們可以給變量賦值,并可在程序執(zhí)行中改變變量的值。下面我們講解WMLScript有關(guān)變量與數(shù)據(jù)類型的詳細(xì)規(guī)定。
4.4.1變量及其聲明
變量是在WMLScript腳本程序中具有值的符號名,或說標(biāo)識(shí)符。使用變量可以存儲(chǔ)和改變程序中需要的數(shù)據(jù)。與C語言不同的是,WMLScript僅支持函數(shù)內(nèi)定義的變量或用于傳送數(shù)的參變量。
變量使用前必須進(jìn)行聲明,也就是定義變量,即指定變量的名字。聲明變量的關(guān)鍵字是var,它的后面根上作為變量名的合法的標(biāo)識(shí)符,并于最后加上分號(;),即完成一個(gè)量的聲明。聲明變量是可以使用var一次聲明多個(gè)變量名,相鄰變量之間使用都號(,)間隔。
一般情況下,我們在給變量命名的時(shí)候,都希望能夠使用有意義的變量名。例如,當(dāng)需要使用一個(gè)變量表示一本書的價(jià)格時(shí),雖然將變量命名為j或book都沒有什么錯(cuò)誤,但若能命名為bookPrice則會(huì)是的WMLScript腳本程序具有更好的可讀性,可以方便編程人員進(jìn)行腳本的編寫和調(diào)試工作。而且,由于WMLScript在給變量命名是不能使用保留字,所以考慮到避免由于一時(shí)的疏忽時(shí)變量名欲保留字發(fā)生沖突,我們建議使用多個(gè)單詞組合在以其作為一個(gè)變量的名稱,這是一個(gè)比較好的解決辦法。例如,如果要定義一個(gè)變量來存儲(chǔ)的、一本書的價(jià)格,那我們可以不妨使用bookPrice或者book_price作為變量的名稱,這樣,一方面可以時(shí)變量顯得更加清晰,另一方面也可以避免變量與保留字的沖突問題。
以上只是我們對于變量命名的建議,并不是強(qiáng)制性的要求,用戶完全可以不按照我們的要求來做,只要遵守WMLScript對于標(biāo)識(shí)符命名的要求就可以了,但養(yǎng)成良好的編程風(fēng)格不論是對編程人員還是對腳本編寫人員來說,都是十分有意義的。
4.4.2 變量的作用域與生命期
一個(gè)變量的作用域是指在程序中能夠引用這個(gè)變量的一段代碼。由于WMLScript僅支持函數(shù)內(nèi)定義的變量,所以WMLScript變量的作用與通常就是定義它們的那個(gè)函數(shù)。在該函數(shù)之外,變量不再發(fā)揮直接作用。
變量的生命起始值從變量聲明開始到失效為止。變量的生命期也被稱為變量的持久期、存活期。一個(gè)變量在定義它的整個(gè)函數(shù)內(nèi)都是有效的,函數(shù)內(nèi)的任何語句塊都不會(huì)削減變量的生命期或限制變量的作用域。
如果一個(gè)變量未經(jīng)生命就直接使用,或聲明過后再次聲明,都會(huì)破壞變量的生命期。前一種情況會(huì)導(dǎo)致變量沒有開始聲明期,即沒有“生命”;而后一種情況則導(dǎo)致變量聲明期沒有結(jié)束以前就重新賦予聲明期,即讓它多次“降生”。這都會(huì)導(dǎo)致變量無效使用。下面函數(shù)中的變量使用就說明了這一問題:
function foo(){
x=1;//錯(cuò)誤:變量使用前沒有聲明,改變量還沒有“聲明”。
var x,y,z;
y=x+3;
var zd =invalid
if(x){
var(y);//錯(cuò)誤:這一變量已經(jīng)聲明,這里是重復(fù)聲明。
};
};
4.4.3 變量的使用
WMLScript的變量只能在定義它的函數(shù)內(nèi)使用。使用時(shí)需要聲明變量,聲明變量是可以同時(shí)對變量賦值,甚至對變量進(jìn)行運(yùn)算。例如,下面的簡單函數(shù)就說明了變量的這種靈活的使用方法:
function ourAge(){
var myAge=38;
var yourAge=26;
var ourAge=myAge+yourAge;
return ourAge;
};
使用變量時(shí)可通過調(diào)用變量名字的形式來實(shí)現(xiàn)。上面例子中的“var ourAge=myAge+yourAge;”一句,通過調(diào)用變量名,變量ourAge對變量myAge和變量yourAge實(shí)行了求和操作。
4.4.4 變量類型與數(shù)據(jù)類型
WMLScript是一種“弱類型”的語言,及其變量沒有確定的類型。WMLScript變量的類型有改變量所賦數(shù)據(jù)的類型決定,并根據(jù)數(shù)據(jù)類型的改變而改變。WMLScript只支持內(nèi)部定義的數(shù)據(jù),因此我們編寫程序是無需指定WMLScript變量的類型,WMLScript減根據(jù)變量而賦數(shù)據(jù)的類型自動(dòng)進(jìn)行匹配。由于WMLScript的數(shù)據(jù)類型共有整數(shù)、浮點(diǎn)數(shù)、字符串、布爾型和“無效型”五種類型,所以WMLScript變量的類型所能匹配的也就是這五種類型。