| Variables and data types |
|---|
這裡我們來討論WMLScript language的兩個重要部分: variables 和 data types. variable 是相關於data value的名稱. 你可以利用變數去儲存和運用程式資料. WMLScript 支援區域變數當你宣告程式以及參數時.
| ☉ | Variable declaration |
|---|
變數的宣告在WMLScript裡面具有強制性.利用var 這個關鍵字以及一個variable名稱.Variable名稱必須根據 “Identifiers”中的定義 .下面是幾個例子:
|
var x; |
|---|
注意變數必須在使用前先宣告.變數的初始值可有可無.沒有初始值的 variables 內含空字串.
| ☉ | Variable scope and lifetime |
|---|
WMLScript variable的有效範圍在它所宣告的 function之內.注意在 function中,變數名稱必需是唯一的.
|
function priceCheck(givenPrice) { |
|---|
variable的 lifetime 在變數宣告以及程式結束之間.
|
function foo() { |
|---|
| ☉ | Variable access |
|---|
變數必須在有宣告到的function中使用.利用變數名稱去取代變數值:
|
var myAge = 37; |
|---|
| ☉ | Variable Types |
|---|
WMLScript是個weakly typed language: 內部基本的資料型態有: boolean, integer, floating-point 和string.另外第五個資料型態invalid 適用在 cases 中, invalid必須跟其他的內部資料型態區分時.這些資料型態只支援在 internally, 你不用去指明variable types,而且任何的variable可以含有任何資料型態.WMLScript會自動去決定你需要什麼.
|
var flag = true; // Boolean |
|---|
| ☉ | L-values |
|---|
有些計算需要left operand去參考變數(L-value)而不是值.因此WMLScript除了支援五種資料型態外,第六種變數型態用來指明變數名稱必須提供.
|
result += 111; // += operator requires a variable |
|---|
| ☉ | Type equivalency |
|---|
WMLScript 支援不同資料型態的運算.所有的運算子對運算元指明所接受的型態.自動的資料型態轉換用在運算元上.詳細內容可參考“Operators and expressions”以及“Automatic data type conversion rules”.
| Numeric values |
|---|
WMLScript 支援兩種不同的數值資料型態: integer 和 floating-point.數字的值可為其中一種,一個更一般化的term number 可以用來取代之.你可以直接給變數一個值,也可以在執行中用運算來定義變數規則.integer和floating-point 的轉換規則定義在“Automatic data type conversion rules”.
|
var pi = 3.14; |
|---|
| Integer size |
|---|
integer size 為32 bits,所支援的數字範圍為從–2147483648 到 2147483647.你可以利用下面的Lang library function在執行中得到這些值.
Lang.maxInt () 表示最大值. Lang.minInt () 表示最小值.
| Floating-point size |
|---|
WMLScript 支援 32-bit單精度 floating-point型式:最大值: 3.40282347E+38.最小非零值: 1.17549435E– 38.
同樣的你可以利用下面的 Float library來求得這些值:
Float.maxFloat () 表示最大值.Float.minFloat ()表示最小非零值.
特別的floating-point 數字型態可以用下面規則處理:
當運算結果為 floating-point ,但不是單精度floating-poin所支援的有限數字,則結果為invalid value.當運算結果為 floating-point underflow 則值為 zero (0.0).正負零是沒有區別的.
| ☉ | String values |
|---|
WMLScript支援strings ,包括letters, digits, special character等等.你可以用string literals初始化變數,也可以運用string
values,WMLScript中的運算和程式都在標準 String library有描述.
|
var msg = "Hello"; |
|---|
| ☉ | Boolean values |
|---|
你可以用Boolean values去初始化及定義變數,或是在statements中需要boolean value為參數.Boolean value可以為字母或邏輯運算值.
|
var truth = true; |
|---|