Actionscript 3 AS3,将变量添加到函数名

Actionscript 3 AS3,将变量添加到函数名,actionscript-3,function,variables,actionscript,Actionscript 3,Function,Variables,Actionscript,我有6个函数,叫做callClip1、callClip2、callClip3等等 我原计划写6条else/if语句,在需要时调用其中的每一条语句,但我认为可以(可能)用另一种方式完成。我是否可以调用一个名为“callClip”的函数,并在其末尾添加一个在别处设置的变量?因此,如果变量设置为3,它会将callClip+3放在一起并调用该函数 谢谢这可以通过开关块来完成: 用作:callClip(1) 虽然我不建议这样做,但这也可以通过以下方式实现: function callClip(number

我有6个函数,叫做callClip1、callClip2、callClip3等等

我原计划写6条else/if语句,在需要时调用其中的每一条语句,但我认为可以(可能)用另一种方式完成。我是否可以调用一个名为“callClip”的函数,并在其末尾添加一个在别处设置的变量?因此,如果变量设置为3,它会将callClip+3放在一起并调用该函数


谢谢

这可以通过开关块来完成:

用作:
callClip(1)

虽然我不建议这样做,但这也可以通过以下方式实现:

function callClip(number:int):void
{
    this["callClip" + number]();
}

这可以通过开关块来完成:

用作:
callClip(1)

虽然我不建议这样做,但这也可以通过以下方式实现:

function callClip(number:int):void
{
    this["callClip" + number]();
}

除了Jason的答案之外,您还可以这样做:

// Store references to each method.
var methods:Vector.<Function> = new <Function>[
    callClip1, callClip2, callClip3,
    callClip4, callClip5, callClip6
];


// Call relevant callClip function.
function callClip(num:int):void
{
    methods[num-1]();
}
//存储对每个方法的引用。
var方法:向量新的[
callClip1,callClip2,callClip3,
callClip4,callClip5,callClip6
];
//调用相关的callClip函数。
函数callClip(num:int):void
{
方法[num-1]();
}

除了Jason的答案,您还可以这样做:

// Store references to each method.
var methods:Vector.<Function> = new <Function>[
    callClip1, callClip2, callClip3,
    callClip4, callClip5, callClip6
];


// Call relevant callClip function.
function callClip(num:int):void
{
    methods[num-1]();
}
//存储对每个方法的引用。
var方法:向量新的[
callClip1,callClip2,callClip3,
callClip4,callClip5,callClip6
];
//调用相关的callClip函数。
函数callClip(num:int):void
{
方法[num-1]();
}

很好我正要提出你的第二个想法,我也不推荐:)同意,我认为一般来说,不应该有一堆函数,而应该有一个函数中有这种类型的开关来更改功能,而不是有一堆函数的副本,并且需要更新switch语句和创建新函数。如果有很好的理由这样做(比如callClip1-6都有非常可变的功能),答案很好。很好,我正要提出你的第二个想法,我也不推荐:)同意,我认为一般来说,不应该有一堆函数,而应该有一个函数中有这种类型的开关来更改功能,而不是有一堆函数的副本,并且需要更新switch语句和创建新函数。如果有很好的理由这样做(比如callClip1-6,它们都有非常可变的功能),那么这是一个很好的答案。