请高手回答:下面的代码输出为
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()");
}