8.2.2 函数的调用 - 编程吧

上一篇 | 下一篇

8.2.2 函数的调用

发布: 2007-7-20 13:51 | 作者: 佚名 | 来源: 转载 | 查看: 14次


8.2.2  函数的调用
编写好的函数必须经过合法的调用,才可以发挥它应有的作用。函数调用后将返回一个值,比如一个计算结果。WMLScript中的函数主要可以分为内部函数、外部函数和库函数,下面我们就介绍这3类函数的调用方法。

内部函数
所谓内部函数是指函数的定义与其调用函数在同一个脚本文件内的函数,对内部函数的调用称为内部调用。内部函数的调用非常简单,只需提供函数名和所需参数值即可,参数值必须和函数定义时指定的参数个数及类型一致。而且函数调用需要使用操作符来接收或处理被调用函数的返回值。

内部函数可以在其定义之前调用,也可以在其定义之后调用。例如,下面就是一个在函数定义之后调用的例子:

 

function test1 (val) {

  return val*val;

};

 

function test2 (param) {

  return test1 (param+1);

};

 

这个例子中定义了两个函数test1和test2。test1函数用于计算给定参数值的平方并将结果返回;test2函数将给定的参数值加1,然后以这个和为参数值,来调用test1函数,得到结果后再将该结果返回到调用test2函数的语句。

注意,本例中test2函数调用了test1函数,这种在函数中调用其他函数的方法称为函数调用嵌套。WMLScript的内部函数、外部函数和库函数都支持嵌套调用,后面我们将专门介绍这方面的内容。

外部函数
外部函数是一个在WMLScript外部文件中定义的函数。调用外部函数的方法与调用内部函数的方法基本类似,不同之处在于调用外部函数时一是要指定外部文件的地址及名称,二是要在调用的外部函数名的前面加上外部文件的名称。

WMLScript规则使用use url来指定外部文件,语法格式为:

use  url  含有外部函数的外部文件名  外部文件所在的URL;

这样,WMLScript的预编译头就可以将外部文件映射为一个可以在内部使用的标识。然后,使用这个标识并加上井号(#)和标准的函数调用即可实现外部函数调用,语法格式为:

外部文件名#外部函数(参数列表);

例如,http://www.host.com/script下有我们需要的外部文件,名为OtherScript,所以我们可使用use url来指定该文件:

use url OtherScript "http://www.host.com/script";

这一外部文件中含有我们需要调用的外部函数testme,则可采用“外部文件名#外部函数(参数列表)”的形式来调用它:

OtherScript#testme(param+1);

这个例子完整地写出来,就是下面的程序:

 

use url OtherScript "http://www.host.com/script";

 

function test(param) {

  return OtherScript#testme(param+1);

};

 

 

库函数
如无特别指明,WMLScript的库函数一律是指它的标准库函数。因为与标准库函数对应,WMLScript还有一些非标准的库函数。我们这里先介绍标准库函数,非标准库函数后面再介绍。

所有库函数都有所属的库,函数的库中通常含有一类函数。因此,调用某个库函数时,一要指定它所在的库名,二要指定它的函数名。WMLScript规定,调用标准库函数时可以通过在函数库的名字后面加上句点号( . )和库函数的标准调用来实现,语法格式为:

函数库名.函数名(参数列表);

例如,WMLScript的浮点库即Float库中有一个开根方的函数sqrt,该函数只有一个参数,那么调用sqrt库函数的方法为:

Float.sqrt(number);               // 这里要求number大于或等于0

下面给出了调用库函数的简单例子。首先以param参数值调用Lang.abs( )函数,返回结果加1后再作为参数值调用Float.sqrt( )函数,它的返回结果将作为内部函数test的返回值:

 

function test(param) {

         return Float.sqrt(Lang.abs(param)+1);

};

字号: | 推荐给好友

 

评分:0

我来说两句

seccode