actionscript 3.0 小问题

请高手回答:下面的代码输出为
aFunc()
bFunc()
cFunc()
dFunc()
aFuncExected:true
cFuncExected:true
dFuncExected:true
bFuncExected:true

为什么不是下面的呢?
aFunc()
bFunc()
cFunc()
dFunc()
aFuncExected:true
bFuncExected:true
cFuncExected:true
bFuncExected:true

                    var funcAry:Array=new Array();
        //将需要的操作步骤加入队列
        funcAry.push(aFunc);
        funcAry.push(bFunc);
        funcAry.push(cFunc);
        funcAry.push(dFunc);

        //供操作的对象
        var originObject:Object=new Object();

//需要执行几步由execQueue这个参数决定,在实际运用中可能动态决定
        var execQueue:Number=funcAry.length;

//核心步骤:函数队列执行。实际运用中可以把它包装成一个函数,或者一个类的实例
for(var i:Number =0;i<funcAry.length;i++){
funcAryi;
}

        //trace出执行操作后的original里面的内容
        for(var j in originObject){
            trace(j+":"+originObject[j]);
        }

        //操作步骤abc
        function aFunc(eO:Object){
            eO.aFuncExected=true;
            trace("aFunc()");
        }
        function bFunc(eO:Object){
            eO.bFuncExected=true;
            trace("bFunc()");
        }
        function cFunc(eO:Object){
            eO.cFuncExected=true;
            trace("cFunc()");
        }
        function dFunc(eO:Object){
            eO.dFuncExected=true;
            trace("dFunc()");
        }

这段代码中,在执行 for 循环时,应该把数组中存储的函数执行,而不是打印出函数名,所以应该把funcAryi改成funcAryi,这样才能执行数组中存储的函数并传入 originObject 作为参数。


修改后的代码如下:

for(var i:Number =0;i<funcAry.length;i++){
    funcAry[i](originObject);
}

这样才能达到预期结果,即先输出 aFunc()、bFunc()、cFunc()、dFunc(),然后输出 aFuncExected:true、bFuncExected:true、cFuncExected:true、dFuncExected:true