3

以下のコードのトレース結果が「1,2,3,4,5」ではなく「5,5,5,5,5」である理由と、匿名関数がcollect要素を参照するようにする方法を誰かが説明できますか? array?(この例では、「var item」は list[0],[1],[2],[3],[4] を参照する必要があります)。

var list:Array=[1,2,3,4,5];
var funcs:Array=[];

for each(var item:int in list){
    funcs.push( function(){
       trace(item);
    });
}

for each(var func:Function in funcs){
    func();
}

trace result: 5,5,5,5,5
4

2 に答える 2