1.基本语句。
注意的地方: 语句后面要加';'号。
空语句: 就一个 ; 号。
2. 函数的声明与调用
2.1 下面几行语句就是定义函数的简单例子:
function currencyConverter(currency,exchangeRate)
{
return currency*exchangeRate;
};
其中,该函数的名称为currencyConverter,参数有currency和exchangeRate两个,函数代码块包含一条语句,用于返回currency和exchangeRate的乘积。
下面是一个使用extern定义外部函数的例子。其中函数名为textIt,它没有参数,函数体中定义了两个赋值变量,一个赋整数,一个赋函数值:
extern function testIt(){
var USD=10;
var FIM =currencyConverter(USD,5.3)
};
2.2调用
2.2.1内部函数可以在其定义之前调用,也可以在其定义之后调用。例如,下面就是一个在函数定义之后调用的例子。
function test1(val){
return val*val;
};
function test2(param){
return test1(param+1);
};
2.2.3外部函数调用例子:
内部函数可以在其定义之前调用,也可以在其定义之后调用。例如,下面就是一个在函数定义之后调用的例子。
function test1(val){
return val*val;
};
function test2(param){
return test1(param+1);
};
2.2.4库函数:
内部函数可以在其定义之前调用,也可以在其定义之后调用。例如,下面就是一个在函数定义之后调用的例子。
function test1(val){
return val*val;
};
function test2(param){
return test1(param+1);
};
2.2.4.5嵌套调用---不废话了我。
3.预编译
3.1 外部文件
使用URL地址可以定位一个WML Script文件。利用该URL地址;在WML Script编程中我们可以通过预编译来调用WML Script的外部文件,外部文件预编译头的声明方法是use url,其语法格式如下:
use url外部文件名"URL"地址
这样,在当前文件的编程中就可以使用该预编译头声明的外部文件,从而可以调用该外部文件的函数。其语法格式为:
外部文件名#函数名(参数列表);
例如,希望在当前的WML Script程序中调用OtherScript外部文件中的check()函数,而且知道OtherScript文件的URL地址为http://www.host.com/app/script。因此,可以使用use url来声明这一外部文件:
use url OtherScript"http:
//www.host.com/script" 随后,我们就可以在程序中调用OtherScript中的check()函数了: function test(par1,par2) { return OtherScript#check(par1,parr2); }; 其中调用执行的过程如下: (1)找到WML Script外部文件的URL地址; (2)当前函数从指定的URL地址值装载外部文件; (3)检测外部文件的内容,并执行其中的check()函数。 ure url 预编译头指定的外部文件名在当前程序中必须唯一,用户不能指定不同URL地址的同名外部文件,否则在调用外部文件时就会发生混乱。 另外,use url预编译头中的URL地址也可以是相对URL地址。相对URL的起始位置是当前程序文件所在的位置,并在此基础上根据URL进行定位。 如果URL地址中的字符包含有转义字符,则WML Script将根据转义要求进行转义。不过,程序在编译的时候编译器并不会对他们进行转义,而是在程序执行时完成,检查URL格式和URL地址的有效性。 3.2 访问权限 我们可以使用访问权限预编译设保护文件的内容,实现访问控制。WML Script编程中,必须在调用外部函数之前使用访问权限预编译头声明外部文件的访问权限。不过,WML Script访问权限检查的缺省值是不进行检查,即disabled.但访问权限一经声明,以后当调用外部函数的时候,编译器就会检查外部文件的访问权限,以决定调用这是否有权使用该文件及其内含函数。 访问权限预编译头的声明方法是use access,其语法格式如下: use access domain操作域名path操作路径: 访问权限预编译头通过指定domain和path属性来决定编译器将要进行什么样的检查工作。如果文件有domain或者path属性,那么文件所在的URL就必须和属性中的值一致。比较时,域和路径都依据URL大写规则进行比较。具体的比较预则如下: (1)操作域与URL中的域后缀相匹配。与后缀匹配是值所有的子域从后向前都必须一致。例如:www.wapforum.org和wapforum.org相匹配,而与forum.org并不匹配。 (2)操作路径和URL中的路径前缀相匹配。路径前缀匹配是值从前向后必须一致。例如:“/X/Y”与“/X”相匹配,而不是和“/XZ”相匹配。 (3)却省的domain数行为当前的文件域,就是“/”。 不过,为了简化编程,有时WMLScript并不需要直到外部文件的绝对路径,我们只需提供文件的相对URL即可,用户浏览器执行程序是卡相对路径自动转换为绝对路径,根据路径属性进行匹配。例如:如果访问权限预编译头及其指定属性为: use access domain"wapforum.org"path"/finance"; 则可以使用以下的路径来调用指定文件中的外部函数,它们都符合相对URL地址匹配规则: http://wapforum.org/finance/money.cgi http://www. wapforum.org/finance/money.cgi http://www. wapforum.org/finance/demos/packages.cgi?x+123&y+456 而以下的路径调用则非法的,因为它们或者操作域不对,或者URL地址不能与指定的相对URL相匹配: heep//www.test.net/finance http//www.qapforum.org/internal/foo.wml 4 执行时的错误检测与处理 下篇copy 常见错误处理吧。 |