Actionscript 3 在as3中循环函数名

Actionscript 3 在as3中循环函数名,actionscript-3,Actionscript 3,如何创建一个简单的循环来创建这些函数: function hello1(e:Event):void { trace("hi"); } function hello2(e:Event):void { trace("hi"); } 函数名按顺序排列,直到在 function hello10(e:Event):void { trace("hi"); } 我知道我只能使用一个函数,但我正在将此作为一个更大项目的示例。有很多方法可以实现这一点 您可以将所有函数存储在一个数组中,然后调用函数指针 或者

如何创建一个简单的循环来创建这些函数:

function hello1(e:Event):void
{
trace("hi");
}

function hello2(e:Event):void
{
trace("hi");
}
函数名按顺序排列,直到在

function hello10(e:Event):void
{
trace("hi");
}

我知道我只能使用一个函数,但我正在将此作为一个更大项目的示例。

有很多方法可以实现这一点

您可以将所有函数存储在一个数组中,然后调用函数指针

或者,可能类似于:

package
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class HelloLoop extends Sprite
    {

        public function hello1(event:Event):void
        {
            trace("hi - 1");
        }

        public function hello2(event:Event):void
        {
            trace("hi - 2");
        }

        public function hello3(event:Event):void
        {
            trace("hi - 3");
        }


        public function HelloLoop()
        {
            // not sure what event you are passing
            var event:Event = new Event("unknown");

            for (var i:uint = 1; i <= 3; i++)
            {
                this["hello" + i](event);
            }
        }

    }
}
包
{
导入flash.display.Sprite;
导入flash.events.Event;
公共类Helloop扩展了Sprite
{
公共函数hello1(事件:事件):无效
{
痕量(“hi-1”);
}
公共功能hello2(事件:事件):无效
{
微量元素(“hi-2”);
}
公共功能hello3(事件:事件):无效
{
微量元素(“hi-3”);
}
公共函数HelloLoop()
{
//不确定你通过了什么项目
风险值事件:事件=新事件(“未知”);

for(var i:uint=1;i函数与ActionScript 3中的任何其他对象一样,因此可以通过引用传递它们

试试这样的

var functionList:Array = [];
var func:Function;
var numFunctions:int = 10;
for (var i:int = 0; i < numFunctions; i++) 
{
    func = function(num:Number):void 
    {
        trace(num);
    };
    functionList.push(func);
}

for (var j:int = 0; j < functionList.length; j++) 
{
    func = functionList[j] as Function;
    func(Math.random()* 100);
}
var函数列表:数组=[];
var-func:函数;
var numFunctions:int=10;
for(var i:int=0;i
但问题的关键是我不想扩展它!我不想编写10个函数。我想要一个循环我的示例显示了1-3-我不想将示例膨胀到10。你可以使用循环的3行代码来访问(n)函数。也许我不明白你的问题-你似乎有一组预定义的函数,正如你所说:“我知道我只能使用一个函数”.这个例子的重点是动态调用函数。我认为问题中给出的例子是blake305不想做的事情。重点是动态创建和调用函数。