AS3对象的基础是Object, Object其实是一个表,我们可以随意的添加属性和方法, 比如我们添加了一个数组和一个方法。
public class sample
{
public var data:Array = [];
public var callBack:Function;
}
我们可以轻松的改变data的指向,让每次访问的数据都不一样。但是对于callBack来说,虽然也是可以通过赋值一个函数改变他的指向,但是必须指定函数的位置,这样程序就不够灵活,我们可以借用Apply和Call的方法来指定函数的运行的对象,也就是说让函数的this发生改变。
正常使用方式 sample1.callBack(param1);
使用Call调用方式 sample1.callBack.Call(otherObject,sample1);
使用Apply调用方式 sample1.callBack.Apply(otherObject,[sample1]); ———参数列表为数组
如果指向otherObject未知,可以先设置为null,这样就先获取当前callBack指向的函数,而后可以利用参数的形式控制otherObject。