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