这节会讨论标准的WMLScript函数库。 6.1WMLScript规则 这些标准函数库提供一个扩展WMLScript语言的机制,这些特定的函数库必须遵循WMLScript的规则。 支持的数据格式 下面的WMLScript格式使用于程序的定义之中,这样能记录程序参数与回转值的格式。 Boolean Integer Float String Invalid 除此之外,如果整数与浮点数参数值格式都能接受的话,则能使用number来记录参数格式,如果使用的格式是所支持的格式,则能用any来记录。 数据格式转换 函数库程序发生错误的处理方式和WMLScript语言一样。 invalid程序参数会产生invalid的回传值。 程序的参数无法转成所需要使用参数格式,则会产生invalid的回传值。 与程序相关的错误得出回传一个适当的错误码,至于这个值就要看每个程序如何定义。 6.2Lang函数库 名称:Lang 说明:这个函数库所含的程序同WMLScript语言的核心有很密切的关系。 abs 程序:abs(value) 说明:回传给予数的绝对值。 如果给予的数是整数,则回传整数。 如果给予的数是浮点数,则回传浮点数。 参数:value=数字。 回传值:数字或invalid。 例外状况:vara=-3; varb=Lang.abs(a);//b=3 min 范例:vara=-3 varb=Lang.abs(a); varc=Lang.min(a.b); vard=Lang.min(45、76.3);//d=45(ingteger) vare=Lang.min(45、76.3);//e=45(ingteger) max 程序:max(value1,value2) 说明:回传值给予的两个数之间的较大值,回传的值于格式同所选数值的值与格式相同,其选取的方式如下: WMLScript运算符数据格式的整数与浮点数转换法则可用来确认数据格式,以便执行比较的动作。 参数:value1=数字 value2=数字 回传值:数字或invalid 例外状况:无 范例:vara=-3; varb=Lang.abs(a);//b=3 varc=Lang.min(a.b); vard=Lang.min(45、76.3);//d=45(ingteger) vare=Lang.min(45、76.3);//e=45(float) parseInt 程序:parseInt(value) 说明:回传由字符串value所定义的整数值,合法的整数语法由WMLScript数值字符串文法或是近值整数是字所界定,下列为额外的解析法则: 第一个字符不是由+、-或十进制数字当开头的话,解译结束。 结果:解析过的字符串回转换整数值。 范例:vari=Lang.parseInt(\”1234\”);//i=1234 varj=Lang.parseInt(\”100m/s\”);//j=100 parseFloat 程序:parseFloat(value) 说明:回传由字符串value所定义的浮点数值,合法的浮点数语法由WMLScript数值字符串文法或是近值整数实字所界定,下列为额外的解析法则: 第一个字符无法解析成浮点数表达式,解析结束。 结束:解析过的字符串回转换成浮点数。 参数:value=字符串 回传值:浮点数或invalid 例外状况:解析错误则传回invalid 范例:vara=Lang.parseFloat(\”123.7Hz\”);//a=123.7 varb=Lang.parseFloat(\”7.34e2Hz\”);//b=7.34e2 varc=Lang.parseFloat(\”70.0e-2F\”);//c=70.0e-2 vard=Lang.parseFloat(\”-1.c\”);//d=0.1 vare=Lang.parseFloat(\”100\”);//e=100.0 varf=Lang.parseFloat(\”Number:5.5\”);//f=invalid varg=Lang.parseFloat(\”7.3emeters\”);//g=invalid varh=Lang.parseFloat(\”7.3e-m/s\”);//h=invalid isInt 程序:isInt(value) 说明:如果各预的值value能使用parseInt(value)转成整数则回传布尔值ture,否则传回false。 参数:value=任意值 回传值:布尔值或invalid 例外状况:无 范例:vara=Lang.inInt(\”-123\”);//ture vara=Lang.minInt(\”123.33\”);//ture vara=Lang.minInt(\”string\”);//false vara=Lang.minInt(\”#123\”);//false vara=Lang.minInt(\”invalid\”);//invalid isFloat 程序:isFloat(value) 说明:如果各预的值value能使用parseInt(value)转成整数则回传布尔值ture,否则传回false。 参数:value=任意值 回传值:布尔值或invalid 例外状况:无 范例:vara=Lang.inInt(\”-123\”);//ture vara=Lang.minInt(\”123.33\”);//ture vara=Lang.minInt(\”string\”);//false vara=Lang.minInt(\”#123\”);//false vara=Lang.minInt(\”invalid\”);//invalid maxInt 程序:maxInt() 说明:传回最大的整数值。 参数:无 回传值:整数2147483647 例外状况:无 范例:vara=Lang.minInt(); minInt 程序:minInt() 说明:传回最小的整数值 参数:无 回传值:整数-2147483647 例外状况:无 范例:vara=Lang.minInt(); float 程序:float() 说明:如果有支持浮点数的话传回ture,没有的话传回false。 参数:无 回传值:布尔值 例外状况:无 范例:varfloatsSupported=Lang.float(); exit 程序:exit(value) 说明:结束WMLScript位码的解译然后回到调用WMLScript解译器者的控制,并回传指定值value,你可以使用这个程序来执行由一般程序的结束,而且WMLScript位码的执行必须停止。 参数:valre=任意值 回传值:无,这个程序结束解译 例外状况:无 范例:Lang.exit(\”Value:\”+myVal);//Returnsastring Lang,exit(invalid);//Returnsinvalid abort 程序:abort(errorDescription) 说明:中止WMLScript位码的解译然后回到调用WMLScript解译器者的控制,并回传errorDescription,你能使用这个程序执行不正常的中止,调用程序者检测到有严重错误,WMLScript的执行并须中断。 如果errorDescription的格式为invalid,字符串invalid用代替errorDescription的使用。 参数:errorDescription=字符串 回传值:无,这个程序结束解译 例外状况:无 范例:Lang.abort(\”Error:\”+errVal);//Errorvaluestring radndom 程序:random(value) 说明:回传一个正数的整数值,也就是说要大于或等于零,但必须要小于给定值value,回传值是由近是正常分布所随机选取的值。 参数:value=整数 回传值:整数或invalid 例外状况:如果value等于0,则程序回传0 如果value小于0,则程序回传invalid 范例:vara=10; varb=Lang.random(5.1)*a;//b=0..50 varc=Lang.random(\”string\”);//c=invalid reed 程序:seed(alue) 说明:初始化需随机数字顺序并回传一个空字符串 如果value为0或正整数,给予的value则用来初始化,反之则使用随机初始化的值。 如果value为浮点数,则会先使用Float.int()来计算确切的整数值。 参数:value=整数 回传值:字符串或invalid] 例外状况:无 范例:vara=Lang.reed(123);//a=\”\” varb=Lang.random(20);//b=0..20 varc=Lang.seed(\”seed\”);//c=invalid(randomseed//leftunchanged) characterSet 程序:characterSet() 说明:回传WMLScript解译器所支持的字集,回传只是个整数用来记录由IANA所设定的MIBEnum值,这个只能表示所有的字集。 参数:无 回传值:整数 例外状况:无 范例:Varcharset=Lang.characterSet();//charset=4forlatinl
123下一页阅读全文