我是一位经验丰富的程序员,但刚开始使用 Flash/Actionscript。我正在开发一个项目,由于某些原因需要我使用 Actionscript 2 而不是 3。
当我运行以下命令时(我只是将它放在新 Flash 项目的第一帧中),输出是 3 而不是 1 ?我需要它是1。
为什么'ii'变量的范围在循环之间继续?
var fs:Array = new Array();
for (var i = 0; i < 3; i++){
var ii = i + 1;
fs[i] = function(){
trace(ii);
}
}
fs[0]();