WAP入门之WMLScript与JavaScrpt的不同之处
1.WMLScript内容不能内嵌在WML文件中
2.WMLScript调用方式
<go href="functions.wmls#function_one" />和JavaScript一样,都是事件驱动,只是WMLScript的事件种类很少:onenterbackward/onenterforward/onpick/ontimer和go/href的激活
3.注释不会传到客户端
4.WML的变量是全局可见的(整个浏览器进程都可见,多个WML页面),WMLScript的变量作用域和JavaScript一样。
5.运算符中除一般的外还有:~(按位非),<<,>>,>>>(补0右移),div(整除)
6.逗号 var i = j++,2+2;//等效于j++; var i = 2+2;
7.typeof//typeof x;int 0/ float 1/ string 2/ bool 3/ NAN 4
8.isvalid// z = isvalid x;
9.函数定义
Extern function functionName(param1,param2)
{
//do
}
10.调用时参数必须与定义一致
11.脚本更改WML中的变量
//functions.wmls
Extern function cube(varName,number)
{
var result;
result = Float.pow(number,3);
WMLBrowser.setVar(varName,result);
WMLBrowser.refresh();
}
//main.wml
//........
<do type="accept" label="Cube value">
<go href="functions.wmls#cube('result',$(number))" /> //$在WML中专用来取值
</do>
<p>
Number:<input type="text" name="number" title="Number:" /><br/>
Cube Result:<u>$(result)</u>
</p>
...
12.数组当作字符串处理,可用String的成员函数来对其进行操作
var temp_array = ("1","2","3","4","5");
var temp_value;
for(x = 0 ; x < 5; x ++)
{
temp_value = String.elementAt(temp_array,x,",");
Dialog.alert(temp_value);
}
13.use编译指令
use url UtilityFunction "utilityfuncs.wmls" //必须定在文件的头部
14.use access 访问控件
use access domain "company.com" path "/directorypath";//一个xmls只有一桥头,写在文件头部