// if-else if (x == y){ x = x * 3.25; }else{ x = 0; } // for loop for (var counter = 1; counter < 500; counter ++){ var i = counter * 1.05; somefunction(i); }; // while loop while (i > j){ i--; }; // break for (var counter = 1; counter < 500; counter ++){ var i = counter * 1.05; if (counter == 250) break; somefunction(i); }; //continue for (var counter = -100; counter < 100; counter ++){ if (counter == 0) continue; var x = 350/counter; }; 函数: WMLScript的函数使用方法如下: extern function identifier(FormatParameterList) Block ; extern是说明函数是放在另外一个文件当中的。如下: function RunTime(distance, speed){ var time = distance / speed; return time; }; 此例出入distance以及speed两个参数,然后返回time的值。如果调用的是WMLScript的內建函数,就必须加上这个函数所属的类名,例如调用 String类的length()函数,使用: var a = String.length('just a test'); 內建函数。 WMLScript有六大內建函数: Lang:包含数据形态、绝对值、随机数等。 Float:浮点数处理。 String:字符串长度(length)、字符位置(charAt)等字串处理。 URL:getReferer、getHost。 WMLBrowser:go、prev、next、refresh等浏览处理。 Dialogs:弹出(prompt、confirm、alert)等对话框。 首先我们先建立一个WML文件,WMLScriptExample.wml,內容如下:
"http://www.wapforum.org/DTD/wml_1.1.xml">
Enter Stu_ID:
You entered:
Stu_ID: $(stuid)
让用户输入学号,go的href连接到另外一个.wmls文件,调用checkid函数。再建 立一个WMLScriptExample.wmls文件,內容如下: extern function checkid(stuid){ if (String.length(stuid) != 8){ WMLBrowser.setVar("stuid", "Error: String must be 8 digits long."); } WMLBrowser.go("WMLScriptExample.wml#Results"); }; 这个WMLScript就是检查stuid字串长度是否为8,并且返回结果。 WMLBrowser.setVar()设定变量的值,WMLBrowser.go()將手机定位到下一个 WML文件,也就是WMLScriptExample.wml的Results卡片。 怎么样?WMLScript是不是很类似于javascript?简直就是一模 一样,就是多了和WML文件相配合的功能而已。 最后需要指出的是,现在的大多数WAP手机(Nokia7110、爱立信R320S等等)都是使用UTF-8编码的,也就是采用Uniecode来编码,这样,如果我们直接在WML/WMLScript中使用中文的话,将会产生乱码,手机用户无法识别,所以我们在输出中文之前,要对中文进行Uniecode的编码,这个工作就要服务器端的程序来完成了,比如我们使用ASP来做这项工作,可以调用这个函数实现转换,其他语言的实现方法类似:
Function c2u(myText) For i = 1 to Len(myText) ' 对每一个字节进行处理 c = Mid(myText, i, 1) c2u = c2u & "" & Hex(AscW(c)) & ";" ' 将传回的Unicode转换为十六进制值 next End Function 实现的例子如下:(chinese.asp) <% Response.ContentType="text/vnd.wap.wml;charset=UTF-8" %> "http://www.wapforum.org/DTD/wml_1.1.xml"> <% Function c2u(myText) For i = 1 to Len(myText) c = Mid(myText, i, 1) c2u = c2u & "" & Hex(AscW(c)) & ";" next End Function %>