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