1,在as3中的function的apply方法,第二个参数非常简单,是一个Array类型,就是FN的参数.那么第一个参数是什么呢?

我们可以把第一个参数看成是this

package com.ainy
{
    public class Applyfn
    {
        public function Applyfn()
        {
        }
        public var $str : String = "";
        public function callBack($c : String ) : void{
            trace("one class param name :::=>" + this.$str + "    .....   $c:::=>" + $c);
        }
    }
}

应用代码:

var c : Applyfn = new Applyfn();
c.$str = "KKK";
c.callBack.apply(c,["WWWW"]);

得到的 结果:

100700523.png

应用:

var c : Applyfn = new Applyfn();
c.$str = "KKK";
c.callBack.apply(c,["WWWW"]);
var u : Applyfn = new Applyfn();
u.$str = "UUU";
u.callBack.apply(c,["DDD"]);

得到的结果:

101244621.png

可以看到 :

u.callBack.apply(c,["DDD"]);

即使 apply的第一个参数是c(另一个Applyfn实例),但是callBack的this用的是u