没有合适的资源?快使用搜索试试~ 我知道了~
首页手机网页制作的宝典——WML基础教程.doc
资源详情
资源评论
资源推荐
WML 基础教程
WMLScript 是属于无线应用协议 WAP 应用层的一部分,使用它可以向 WML 卡片组和卡
片中添加客户端的处理逻辑,目前最新的版本是 1.1 版。WMLScript 1.1 是在欧洲计算机
制造商协会制定的 ECMAScript 脚本语言的基础上,经过修改和优化而制定的。它能够更
好地支持诸如移动电话类的窄带宽通信设备,在 WML 编程中使用 WMLScript 可以有效地
增强客户端应用的灵活性,而且,我们也以把 WMLScript 作为一个单独的工具使用,开
发出功能强大的 WAP 网络应用和无线网页。本章我们将详细讲解 WMLScript 1.1 编程的
基础语法知识,如基本规则、变量与数据类型、操作符与表达式等。为了叙述上的简便,
以后我们将“WMLScript 1.1”简称为“WMLScript”。
7.1 简单例子:WML 程序中调用 WMLScript 函数
经过前两章的学习,熟悉 C 语言的读者可能会认识到,WML 的函数功能、逻辑运算
功能等都是十分有限的。而 WMLScript 提供了丰富的函数功能,我们在 WAP 应用开发中
可以使用 WMLScript 来增强 WML 编程,调用 WMLScript 语句和函数的命令可以直接写
在 WML
7.3 WMLScript 基本规则
WMLScript 在许多基本规则方面沿用了 WML 的做法。不过,由于 WMLScript 是以
C 语言为蓝本而制定的,所以它的语法特征和 C 语言非常相像。如果大家对 C 语言比较熟
悉,那么学习和掌握这部分内容应当是比较容易的。
7.3.1 WMLScript 与 URL
与 WML 一样,WMLScript 也沿用了 WWW 和 HTML 访问资源的 URL、HTTP 等规
范,并扩大了 URL 使用的范围。在 WMLScript 中,不仅超链接、文件路径及文件名可以
作为 URL 处理,外部函数、访问控制信息等也可作为 URL 处理。
为此,WMLScript 采用了 WML 的变通方法,即改进 HTML 命名资源位置的方式,采
用程序段锚点(Fragment Anchor)的形式来处理资源定位。程序段锚点根据文档 URL 规
则进行定义,并按照程序段标识符前加井字号(#)的方式书写。使用程序段锚点,
WMLScript 程序可以在 WMLScript 编译单位内定位任一指定的函数,并可在调用该函数
的同时传递所需的参数。
例如,WAP 手机用户通过浏览器调用外部 WMLScript 函数时,可先写出该函数所在
的 URL 地址,如 http://www.acme.com/myScripts.scr;然后,将函数名及参数作为程
序段锚点处理,比如 testFunc('Test%20argument', -8),这样最后含有程序段锚点的
URL 地址书写格式为:http://www.acme.com/myScripts.scr#testFunc('Test
%20argument', -8)。注意其中加上了井字号(#)。
浏览器接到这样一个调用后,将首先执行访问控制检查。如果调用者没有访问权限,
则终止该函数的调用。否则,继续执行调用操作,将锚点中的函数名与编译程序中的外部
函数进行匹配,如果不合适,则终止执行;否则,就进一步对函数参数的格式、个数、类型、
参数值属性等进行判断,如果符合要求,则函数调用成功,否则拒绝函数调用。
7.3.2 词法结构
WMLScript 编程中的词法结构并不复杂,我们下面就从大小写敏感、空格、换行、注释及保留字等方
面讲解相关的具体规则。
(1) 内容类型。WMLScript 的内容类型主要针对文本形式和二进制形式两种情况,类型结构可以在服
务器端进行指定,具体形式为:
文本形式:text/vnd.wap.wmlscript;
二进制形式:application/vnd.wap.wmlscriptc。
具体指定方法我们在第 4 章已经介绍过,这里不再重述。
(2) 大小写敏感。WMLScript 1.1 是一种大小写敏感的脚本语言。它所涉及的各种关键字、变量和函
数名都必须合理地使用大小写。
(3) 空格和换行。一般情况下,WMLScript 程序执行时将忽略所有的空格、制表符和换行符等。但如
果把这些特殊字符通过代码进行表述,或者作为字符串进行处理时,WMLScript 将不再忽略它们。例如,
字符串"Oct 28, 2001"中含有空格,该空格在执行时就不会被忽略,它与不含空格的字符串"Oct28,
2001"是不同的。
(4) 注释。与 WML 编程一样,在 WMLScript 脚本程序中也可以加入注释内容。注释内容不被程序执
行,且注释不能嵌套。WMLScript 的注释方法有两种:
其一,行注释。即使用双斜杠号(//)引导一行内容,这一行内容全部作为注释内容。如:
file://这是一行注释,由双斜杠号开始到这行结束都是注释。
其二,块注释。即以符号“/*”开始,而以符号“*/”结束的其间所有内容都是注释内容。如:
/* 这就是块注释,夹在中间的内容就是注释内容 */
(5) 数据类型与直接编码。WMLScript 允许将 4 种类型的数据直接编码并可嵌入在程序之中。直接编
码的 4 种数据类型为:整数、浮点数、字符串和布尔型。另外,“无效型”值也可直接编码。
① 整数。当以十进制、十六进制或八进制方式使用整数时,可对这类整数进行直接编码。例如:-
98、0xE5、032 等。
编程书写时,十进制的数字均不以 0 开头,只包含 0~9 的数字串;十六进制的数均以 0X 或者 0x 开头,
只包含 0~9、a~f 或者 A~F 的字符串;八进制的数均以 0 开头,只包含 0~7 的数字串。
② 浮点数。浮点数通常定义为含有小数点的数字,可以包含小数和指数部分。浮点数的形式较多,
可以是十进制的整数或浮点数,可以是分数,也可以是指数;但一个浮点数必须至少有一个数。
指数是以 e 或 E 开头,后面跟着一个整数。指数是以 10 为底的幂。例如:e0 是 10 的零次幂,e-2 是
10 的负 2 次幂即等于 0.01。指数可以带符号,正号(+)或者减号(-),它们分别代表是正指数和负指数。
例如:5.69 可以表示成以下几种形式的浮点数:5.69、5.69e0、5.69E0、.569E1 或 569e-2。
再如,以下形式的数都表示一个浮点数:十进制整数 5、6、9 等,十进制浮点数 5.69、56.9、.569 等,
分数 1/3、5/9、5/6 等,指数 e0、e5、e-6 等。
注意,如果编程时在 WMLScript 程序中使用了超出定义范围的浮点数,则程序执行时将会导致编译
错误。浮点数溢出时,WMLScript 将把该数作为 0 处理。
③ 字符串。字符串是指定义在成对的双引号(" ")或单引号(' ')之间的内容。例如:'Welcome to WAPnet
!'、"27 September, 2000 09:05 PM"、"36% off retail"等都是合法的字符串。在 WMLScript 编程中,字符
串其实是一个指向字符串所在位置的内存指针。程序运行中我们可以修改字符串的值,甚至可以对字符串
进行所需的运算。
由于 WMLScript 只允许使用成对的双引号或单引号来定义字符串,所以程序中使用一个单引号或一
个双引号时就会出现编译错误。
考虑到有些特殊字符不能在字符串中直接显现出来,所以 WMLScript 提供了转义序列来表示这些特
殊字符。表 7.1 给出了这些特殊字符及其转义序列。
④ 布尔型。它只有 true 和 false 两个数值,用于表示 WMLScript 中的“真值”或“假值”。布尔型数据可
参与异、或等运算,具体规则我们后面介绍。
⑤ 无效型。也称为“空类型”,它是 WMLScript 支持的一个表示无效值的量,以 invalid 表示。该量与
C 语言中的 NULL 类似。例如,下面的程序中就是一条判断 invalid 的语句:
var x = 12;
var y = 0;
if ((x/y) == invalid)
{
错误:除数为零!
};
(6) 保留字。WMLScript 中定义有一个保留字集合,含有一些表示特殊意义的单词,这些词不能另外
定义,也不能作为其他标识符。WMLScript 中的保留字如下:
access
http
agent
if
break
isvalid
continue
meta
header
div
name
div=
path
domain
return
else
typeof
while
equiv
url
extern
use
for
user
function
var
另外,WMLScript 还为将来的版本预留了一些保留字,主要有:
case
finally
catch
import
class
private
const
public
debugger
sizeof
default
struct
do
剩余12页未读,继续阅读
ZXQpasswd
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0