as3 Function apply和call方法解说

 Function有apply和call两个方法,方法声明如下:

AS3 function apply(thisArg:*,argArray:*):*
AS3 function call(thisArg:*,...args):*

下面根据我的理解说说这两个方法的用法:
      假设老板有两个员工 张三和李四,张三有一个加薪方法

//staffA的方法 
public function addSalary(value:uint):void

如果老板想给张三加薪,只需一句代码

张三.addSalary(1000)//加薪1000

而李四没有加薪的方法,老板也想给李四加薪,怎么办?现在call就派上用场了

张三.addSalary.call(李四,1000);//给李四加薪1000

apply和call的用法类似,apply用在函数参数个数不定时,将参数以数组的方式传入。
上面的代码也可以这样写:

张三.addSalary.apply(李四,[1000]);

总结:apply和call的作用就是改变了函数里面thisArg的指向。

posted @ 2013-03-05 12:42  LouisSong  阅读(362)  评论(0编辑  收藏  举报