Actionscript 3 AS3,将变量添加到函数名
我有6个函数,叫做callClip1、callClip2、callClip3等等 我原计划写6条else/if语句,在需要时调用其中的每一条语句,但我认为可以(可能)用另一种方式完成。我是否可以调用一个名为“callClip”的函数,并在其末尾添加一个在别处设置的变量?因此,如果变量设置为3,它会将callClip+3放在一起并调用该函数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
谢谢这可以通过开关块来完成: 用作:
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,它们都有非常可变的功能),那么这是一个很好的答案。