這節會討論標准的WML Script函數庫。
6.1 WML Script規則
這些標准函數庫提供一個擴展WML Script語言的機制,這些特定的函數庫必須遵循WML Script的規則。
支持的數據格式
下面的WML Script格式使用於程序的定義之中,這樣能記錄程序參數與回轉值的格式。
Boolean
Integer
Float
String
Invalid
除此之外,如果整數與浮點數參數值格式都能接受的話,則能使用number來記錄參數格式,如果使用的格式是所支持的格式,則能用any來記錄。
數據格式轉換
函數庫程序發生錯誤的處理方式和WML Script語言一樣。
invalid程序參數會產生invalid的回傳值。
程序的參數無法轉成所需要使用參數格式,則會產生invalid的回傳值。
與程序相關的錯誤得出回傳一個適當的錯誤碼,至於這個值就要看每個程序如何定義。
6.2 Lang函數庫
名稱:Lang
說明:這個函數庫所含的程序同WML Script語言的核心有很密切的關系。
abs
程序:abs(value)
說明:回傳給予數的絕對值。
如果給予的數是整數,則回傳整數。
如果給予的數是浮點數,則回傳浮點數。
參數:value=數字。
回傳值:數字或invalid。
例外狀況:var a =-3;
var b =Lang.abs(a);//b=3
min
范例:var a = -3
var b = Lang.abs(a);
var c = Lang.min(a.b);
var d = Lang.min(45、76.3);//d=45(ingteger)
var e = Lang.min(45、76.3);//e=45(ingteger)
max
程序:max(value1,value2)
說明:回傳值給予的兩個數之間的較大值,回傳的值於格式同所選數值的值與格式相同,其選取的方式如下:
WML Script運算符數據格式的整數與浮點數轉換法則可用來確認數據格式,以便執行比較的動作。
參數:value1 =數字
value2 =數字
回傳值:數字或invalid
例外狀況:無
范例:var a =-3;
var b =Lang.abs(a);//b=3
var c = Lang.min(a.b);
var d = Lang.min(45、76.3);//d=45(ingteger)
var e = Lang.min(45、76.3);//e=45(float)
parseInt
程序:parseInt(value)
說明:回傳由字符串value所定義的整數值,合法的整數語法由WML Script數值字符串文法或是近值整數是字所界定,下列為額外的解析法則:
第一個字符不是由+、-或十進制數字當開頭的話,解譯結束。
結果:解析過的字符串回轉換整數值。
范例:var i =Lang.parseInt("1234"); // i=1234
var j =Lang.parseInt("100 m/s"); // j=100
parseFloat
程序:parseFloat(value)
說明:回傳由字符串value所定義的浮點數值,合法的浮點數語法由WML Script數值字符串文法或是近值整數實字所界定,下列為額外的解析法則:
第一個字符無法解析成浮點數表達式,解析結束。
結束:解析過的字符串回轉換成浮點數。
參數:value=字符串
回傳值:浮點數或invalid
例外狀況:解析錯誤則傳回invalid
范例:var a =Lang.parseFloat("123.7 Hz"); // a=123.7
var b =Lang.parseFloat("7.34e2 Hz"); // b=7.34e2
var c =Lang.parseFloat("70.0e-2 F"); // c=70.0e-2
var d =Lang.parseFloat("-1.c"); // d=0.1
var e =Lang.parseFloat("100"); // e=100.0
var f =Lang.parseFloat("Number:5.5"); // f=invalid
var g =Lang.parseFloat("7.3e meters"); // g=invalid
var h =Lang.parseFloat("7.3e- m/s"); // h=invalid
isInt
程序:isInt(value)
說明:如果各預的值value能使用parseInt(value)轉成整數則回傳布爾值ture,否則傳回false。
參數:value=任意值
回傳值:布爾值或invalid
例外狀況:無
范例:var a=Lang.inInt("-123"); //ture
var a =Lang.minInt("123.33"); //ture
var a =Lang.minInt("string"); //false
var a =Lang.minInt("#123"); //false
var a =Lang.minInt("invalid"); /
12下一頁