Flash 关于IEventDispatcher的问题

Flash 关于IEventDispatcher的问题,flash,Flash,IEventDispatcher背后的逻辑是什么 这是我看到的代码: var elements : Array = new Array(); var elements2 : Array = new Array(); for (var i:int = 1; i <= 5; i++) { elements[i] = this['obj' + i]; elements2[i] = this['tracking' + i]; } for each(var element_1 :

IEventDispatcher背后的逻辑是什么

这是我看到的代码:

var elements : Array = new Array();
var elements2 : Array = new Array();

for (var i:int = 1; i <= 5; i++) {
    elements[i] = this['obj' + i];
    elements2[i] = this['tracking' + i];
}

for each(var element_1 : IEventDispatcher in elements){
    element_1.addEventListener(MouseEvent.MOUSE_OVER, moveUp);  
}

for each(var element_2 : IEventDispatcher in elements2){
    element_2.addEventListener(MouseEvent.MOUSE_OUT, moveDown);
}

function moveUp(e:MouseEvent):void{
     e.currentTarget.y -= 30;
}

function moveDown(e:MouseEvent):void{
     elements[elements2.indexOf(e.currentTarget)].y += 30;
}
var元素:数组=新数组();
var elements2:Array=new Array();

对于(var i:int=1;i我不确定你在问什么..使用
IEventDispatcher
背后的逻辑是每个()
它键入的循环,并且
IEventDispatcher
是应用于循环的类型。这基本上意味着
数组
向量
中的所有内容都是
IEventDispatcher
或继承自
IEventDispatcher

以下是使用
MovieClip
类型的每个
示例的

var mcs:Array = [new MovieClip(), new MovieClip()];

var i:MovieClip;
for each(i in mcs)
{
    trace(i);
}
在处理
数组
向量
中的元素时,每个
比标准for循环快得多,因为它不必花那么多时间计算对象的实际内容


你需要知道的另一件事是,如果数组中的任何东西不是
MovieClip

,则会抛出
TypeError
。布赖恩·威利斯谢谢。什么时候是我使用IEventDispatcher的合适时间?我已经在谷歌上搜索过了!但我就是找不到明确的答案!