Flash5 ActionScript高级编程指南(6)
发布时间:2008-08-14 阅读数: 次 来源:网乐原科技
三、自定义函数的运用
加入函数这一概念可能是Flash5对动作脚本语言的改进中最令闪迷们感到兴奋的内容了。因为在老版本的FAS中,为了实现三角函数之类的函数功能,Flash动画制作者们不得不在一大堆一大堆的set指令和call指令之中漫游,既不方便执行效率又低,而且还常常为了逃避该死的“200000行”限制(此限制已在Flash5中取消)而绞尽脑汁、机关算尽。现在有了函数,朋友们,我们还怕什么呢!
可能有些熟悉Java或C/C++编程的闪客们要说了,函数不是很平常的概念嘛,有什么好讲的。其实没那么简单。既然笔者把它单独拎出长长的一节来作介绍,就一定有其不同寻常之处。下面我们就来看看它有什么神秘面纱。为了突出重点,本节只讲有关自定义函数的使用,系统指令函数及预定义对象的成员函数留待以后再讲。
1、自定义函数的形式及功能
按照Flash5 ActionScript联机帮助中的正统解释,自定义函数的表达形式分为有名函数与无名函数两种。具体如下:
function functionname([argument0, argument1,...argumentN]) {
statement(s)
}
function([argument0, argument1,...argumentN]) {
statement(s)
}
其中有名函数可用来作为一般意义上的函数或自定义对象的构造函数;无名函数专门用来为自定义对象加载方法(即成员函数)。以下为这三种功能的实例:
(1)用作一般函数(特点:可有返回值):
function add10(x) {
return x+10;
}
trace(add(10));
(2)用作构造函数(特点:利用this为对象的成员赋值,this为必须):
function box(l,t,r,b) {
this.left = l;
this.top = t;
this.right = r;
this.bottom = b;
}
(3)用作为自定义对象加载方法(特点:在构造函数名后加.prototype表示加载方法,这也是必须的):
box.prototype.area = function() {
return (this.right-this.left)*(this.bottom-this.top);
}