对于代理类,它的作用就是在不能传参数的时候帮助你传参数,什么时候不能传参数,
像:
addEventListener(Event.COMPLETE,function)
这个时候如果我们需要给function参指定的参数以达到不同的效果,就需要用到代理..,我们看看以下的用了代理函数的代码
addEventListener(Event.COMPLETE,getFun(function,args))
这样,我们就可以在本来不可以传参的情况下传送参数.其中getFun就是代理函数.(一般网上都已经直接写成了代理类),getFun会帮我们把function,args生成一个无参数的函数再传给addEventListener,那么我们原来的function只需要写成
function(e:Event[,参数]):void{
//代码
}
就可以了
- function getFun(_function:Function,...alt):Function{
- var _fun:Function = function (e:*):void {
- var _alt:Array = new Array()
- _function.apply(null,_alt.concat(e,alt));
- };
- return _fun;
- }